2

可能重复:
Rails - 帮助理解如何使用 :dependent => :destroy

我有以下型号:

User
Permission (user_id, group_id)
Group
Conversation (group_id)
ConversationParticipation (conversation_id)

我想要在我的权限模型中做的是,当权限被破坏时,根据 group_id 和 user_id 删除所有相关的 ConversationParticipations。

我试过这个:

class Permission < ActiveRecord::Base
has_many :conversation_participations, :through => :group, :source => :conversations, :dependent => :destroy

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

谢谢

4

1 回答 1

1

Rails 文档的一部分has_many

:依赖

如果设置为 :destroy,则所有关联的对象都会通过调用其destroy 方法与该对象一起被销毁。如果设置为 :delete_all 所有关联对象都将被删除而不调用它们的destroy方法。如果设置为 :nullify 所有关联对象的外键设置为 NULL 而不调用它们的保存回调。如果设置为 :restrict,则如果该对象有任何关联对象,则无法删除该对象。

警告:与 :through 选项一起使用时,此选项将被忽略。

你总是可以尝试回调

于 2011-04-23T03:59:20.947 回答