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

StackOverflow https://stackoverflow.com/questions/2203835

Вопрос

модель а:

has_many :b, :dependent => :delete_all

модель б:

belongs_to :a
belongs_to :c

модель с:

has_many :b

Когда я удаляю a, я бы тоже хотела иметь детей b's удалены, чтобы они были удалены из любого c's это может ссылаться на них.Однако вышеперечисленное не работает.Я был бы признателен за любую помощь.

Это было полезно?

Решение

Вот так:

class Widgets < ActiveRecord::Base
  has_many :whatevers, :dependent => :destroy
end

Обновлять

Ваш недавний комментарий указывает на то, что вы используете метод delete() для удаления своих объектов.При этом обратные вызовы не будут использоваться.Пожалуйста прочти руководство для конкретики.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top