Rails,如何为嵌套模型集设置Dependent Destroy?

时间:2011-04-23 03:36:05

标签: ruby-on-rails ruby-on-rails-3 dependent-destroy

  

可能重复:
  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

但这似乎还没有削减它。建议?

由于

1 个答案:

答案 0 :(得分:1)

has_many

的部分Rails文档
  

<强>:依赖

     

如果设置为:destroy all   关联的对象被破坏   通过呼叫他们的这个对象   破坏方法。如果设置为:delete_all   删除所有关联的对象   没有调用他们的破坏方法。   如果设置为:nullify all associated   对象的外键设置为NULL   没有调用他们的保存回调。   如果设置为:restrict此对象不能   如果有任何关联,则删除   宾语。

     

警告:此选项为   使用时忽略:通过   选项。

您可以随时尝试callbacks