class Company
has_and_belongs_to_many :users
end
class User
has_and_belongs_to_many :companies
end
当我删除公司时,什么是最好的(推荐)方法来删除该公司的用户的关联? (我的意思是不实际的用户中,只有协会)rails 3 habtm只删除关联
class Company
has_and_belongs_to_many :users
end
class User
has_and_belongs_to_many :companies
end
当我删除公司时,什么是最好的(推荐)方法来删除该公司的用户的关联? (我的意思是不实际的用户中,只有协会)rails 3 habtm只删除关联
如果您打电话销毁而不是删除,关联会自动删除。
我更喜欢以下内容,因为它保留了模型中的模型逻辑。我不明白为什么ActiveRecord不只是这样做。无论如何,在两个加入的模型中,我添加了以下回调。
before_destroy {|object| object.collection.clear}
所以在你的例子:
class Company
has_and_belongs_to_many :users
before_destroy {|company| company.users.clear}
end
class User
has_and_belongs_to_many :companies
before_destroy {|user| user.companies.clear}
end
在周围很多做一个梯级上收藏协会删除的讨论,很多人申报HABTM协会死者和建议的has_many:通过代替。我不同意。使用任何有意义的。如果协会没有内在属性,则使用HABTM。
链接现在已损坏。 – sivabudh 2011-10-03 15:19:52