class Parent
has_many :children, dependent: :destroy
end
class Child
belongs_to :parent
default_scope { where(deleted_at: nil).not_deleted }
end
Моя проблема связана с тем, что некоторые дочерние объекты удаляются программно. Вызов Parent.last.destroy попытается уничтожить только тех детей в области по умолчанию.
Да, я знаю, как сделать что-то вроде Child.last.unscoped
, но я хочу, чтобы что-то вроде Parent.find(1).destroy
уничтожило все дочерние объекты, включая те, которые были удалены мягко.
Parent.find(1).children.unscoped.destroy_all
Parent.destroy
Выше работает. Есть ли способ уменьшить это до Parent.find(1).destroy
?