如何在rails中删除父对象时删除子对象?

时间:2010-02-04 22:51:27

标签: ruby-on-rails activerecord associations cascade

模型a:

has_many :b, :dependent => :delete_all

模型b:

belongs_to :a
belongs_to :c

模型c:

has_many :b

当我删除a时,我还希望删除子项b's,以便从可能引用它们的任何c's中删除它们。但是,上述方法无效。我很感激任何帮助。

1 个答案:

答案 0 :(得分:39)

像这样:

class Widgets < ActiveRecord::Base
  has_many :whatevers, :dependent => :destroy
end

<强>更新

您最近的评论表明您正在使用delete()方法删除对象。这不会使用回调。有关详细信息,请阅读the manual