Rails, как настроить зависимое уничтожение для набора вложенных моделей?

Возможный дубликат:
Rails — Help понимание того, как использовать :dependent =› :destroy

У меня есть следующие модели:

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

Что я хочу сделать в своей модели разрешений, так это удалить все связанные ConversationParticipations на основе group_id и user_id, когда разрешение удалено.

Я пробовал это:

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

Но, похоже, это еще не все. Предложения?

Спасибо


person AnApprentice    schedule 23.04.2011    source источник


Ответы (1)


Часть документации Rails для has_many

:зависимый

Если установлено значение :destroy, все связанные объекты уничтожаются вместе с этим объектом, вызывая их метод уничтожения. Если установлено значение :delete_all, все связанные объекты удаляются без вызова их метода уничтожения. Если установлено значение :nullify, все внешние ключи связанных объектов устанавливаются в NULL без вызова их обратных вызовов сохранения. Если установлено значение :restrict, этот объект нельзя удалить, если с ним связан какой-либо объект.

Внимание! Этот параметр игнорируется при использовании с параметром :through.

Вы всегда можете попробовать обратные вызовы.

person nowk    schedule 23.04.2011