显然依赖=>破坏时也使用将被忽略:通过选择

所以我有这个...

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top