Как удалить дочерние объекты, когда родитель удален в рельсах?

модель 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() для удаления ваших объектов. Это не будет использовать обратные вызовы. Пожалуйста, прочитайте руководство для специфики.