依赖=>“通过的has_many”关联上的破坏
-
22-09-2019 - |
题
显然依赖=>破坏时也使用将被忽略:通过选择
所以我有这个...
class Comment < ActiveRecord::Base
has_many :comment_users, :dependent => :destroy
has_many :users, :through => :comment_users
...
end
...但删除评论不会导致相关comment_user记录越来越删除。
使用什么时候是推荐的方法,那么,对于级联删除:通过
由于
解决方案
显然:依赖不忽略
真正的问题是,我打电话Comment.delete(id)
肚里直奔分贝,而我现在就可以使用Comment.destroy(id)
它加载评论对象,并调用destroy()方法。此拾取:dependent => :destroy
和一切都很好。
其他提示
楼主的解决方案是有效的,但是我想指出的是,如果你拥有该表中的ID列这仅适用。我喜欢我的许多一对多表仅是两个外键,但我不得不删除我的“ID:假”从迁移表定义级联删除工作。具有这种功能的绝对胜过不上台面具有id列。
如果你有一个多态关联,你应该做的@blogofsongs说,但像这样一个foreign_key属性:
class User < ActiveRecord::Base
has_many :activities , dependent: :destroy, foreign_key: :trackable_id
end
不隶属于 StackOverflow