我定义了以下AR模型:
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
我想要的是如果我删除Venue或Act,任何相关的事件也会被删除。但是如果我删除了一个事件,则不会删除相关的场地和法案。我尝试了各种:dependent
变体,但似乎没有任何效果。
这看起来很简单。我错过了什么?
答案 0 :(得分: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
答案 1 :(得分:1)
我弄明白了这个问题。我不得不在父对象上调用destroy
而不是delete
。文档并没有真正说清楚。