Как удалить дочерние объекты, когда родитель удален в рельсах?
модель a:
has_many :b, :dependent => :delete_all
модель b:
belongs_to :a
belongs_to :c
модель c:
has_many :b
Когда я удаляю a
, мне также хотелось бы удалить детей b's
, чтобы они удалялись из любого c's
, который может ссылаться на них. Однако вышеуказанное не работает. Я был бы признателен за любую помощь.
Ответы
Ответ 1
Так же:
class Widgets < ActiveRecord::Base
has_many :whatevers, :dependent => :destroy
end
Обновление
Ваш недавний комментарий указывает, что вы используете метод delete() для удаления ваших объектов. Это не будет использовать обратные вызовы. Пожалуйста, прочитайте руководство для специфики.