可能重复:
Rails - Help understanding how to use :dependent => :destroy
我有以下型号:
User
Permission (user_id, group_id)
Group
Conversation (group_id)
ConversationParticipation (conversation_id)
我在Permissions模型中想要做的是,当权限为destory时,根据group_id和user_id删除所有相关的ConversationParticipations。
我试过了:
class Permission < ActiveRecord::Base
has_many :conversation_participations, :through => :group, :source => :conversations, :dependent => :destroy
但这似乎还没有削减它。建议?
由于
答案 0 :(得分:1)
has_many
<强>:依赖强>
如果设置为:destroy all 关联的对象被破坏 通过呼叫他们的这个对象 破坏方法。如果设置为:delete_all 删除所有关联的对象 没有调用他们的破坏方法。 如果设置为:nullify all associated 对象的外键设置为NULL 没有调用他们的保存回调。 如果设置为:restrict此对象不能 如果有任何关联,则删除 宾语。
警告:此选项为 使用时忽略:通过 选项。强>
您可以随时尝试callbacks。