как программно запустить before_destroy и другие хуки Active record в рельсах - PullRequest
2 голосов
/ 29 августа 2011

Я хочу переопределить методы destroy и destroy_all, а также методы delete и delete_all в rails, чтобы выполнить мягкое удаление (установите для активного бита значение false), не используя для этого никакого плагина. Я хочу запустить фильтр before_destroy в этих действиях, где это необходимо. Итак, как я могу запустить хук before_destroy и другие подобные хуки программно из кода rails? В качестве дополнительного вопроса, о каких еще деталях я должен знать, когда пытаюсь установить обезьяну для метода activerecord, такого как destroy, destroy_all и т. Д.?

Ответы [ 2 ]

2 голосов
/ 29 августа 2011

Я думаю, что вы хотите идти по трудному пути :) Может быть, такой камень как https://github.com/JackDanger/permanent_records мог бы помочь вам решить вашу проблему.

0 голосов
/ 29 августа 2011

Существует аналогичный вопрос SO, ответ на который может оказаться полезным:

Мой пользовательский метод уничтожения не запускает заданные по умолчанию обратные вызовы до и после уничтожения

self.class.before_destroy_callback_chain и self.class.after_destroy_callback_chain могут предоставить список методов для вызова.но не знаю, если это полный ответ или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...