2011-06-24 3 views
0

私は定義された次のARモデルを持っている:のActiveRecord:依存混乱

class Venue < ActiveRecord::Base 
    has_many :events 
end 

class Act < ActiveRecord::Base 
    has_many :events 
end 

class Event < ActiveRecord::Base 
    belongs_to :venue 
    belongs_to :act 
end 

私が欲しいものは、私は会場や法を削除すると、関連するすべてのイベントも削除されています。しかし、イベントを削除すると、関連する会場と行為は削除されません。私は様々な:dependentのバリエーションを試しましたが、何も動作していないようです。

これはとても簡単です。私は何が欠けていますか?

答えて

1

私は問題を把握しました。私はdeleteの代わりにdestroyを親オブジェクトに呼び出さなければならなかった。ドキュメントはそれを明確にしません。

1

これは私のために働く。会場を削除する/行為はイベントを削除しますが、イベントを削除してもそれが所属する会場/行動には影響しません。

class Venue < ActiveRecord::Base 
    has_many :events, :dependent => :destroy 
end 

class Act < ActiveRecord::Base 
    has_many :events, :dependent => :destroy 
end 

class Event < ActiveRecord::Base 
    belongs_to :venue 
    belongs_to :act 
end