У меня есть модель с именем runningmenu. Я хочу отключить ее при уничтожении, но не при удалении, а также хочу отключить все зависимые записи, например, заказы
.
Я использую ruby 2.4.0 и rails 5. Я пытался использовать активные записи о проблемах. Перед уничтожением я вызываю проблему. Остановите уничтожение, чтобы перевернуть delete_status и бросить abort. когда я прерываю работу с зависимыми записями, он отправляет не удалось уничтожить исключение в действующее меню уничтожить действие. Но он просто прерывается при первой записи и не делает все зависимые записи неактивными.
module Deletable
extend ActiveSupport::Concern
def stop_destroy
self.deleted!
throw(:abort)
end
def stop_destroy_for_orders
self.update_column(:status, Order.statuses[:cancelled])
throw(:abort)
end
end
ON Заказ модели у меня:
before_destroy -> { stop_destroy_for_orders }
на модели бегущего меню, у меня есть:
has_many :orders, dependent: :destroy
before_destroy -> { stop_destroy }
ожидаемый результат - сделать все зависимые от runmenu дочерние элементы неактивными при удалении, но не при удалении. Но теперь только статус первого экземпляра установлен на отмену и откат назад.