Почему обратный вызов Rails before_update устарел? Какая альтернатива? - PullRequest
1 голос
/ 03 февраля 2020

Я посмотрел на https://apidock.com/rails/ActiveRecord/Callbacks/before_update и там написано, что before_update устарела. Кто-нибудь знает, почему это так и что будет альтернативой?

У меня есть некоторый код logi c, который должен запускаться специально при обновлении существующей записи. Before_save вызывается как при создании, так и при обновлении, поэтому я не могу это использовать.

Редактировать: Я думаю, я могу сделать before_save: do_stuff, если:! Self.new_record? но я нахожу это все еще странным ..

Edit2:! self.new_record? внутри блока if: не работает. Мне нужно поставить! Self.new_record? logi c внутри фактического метода.

1 Ответ

1 голос
/ 05 февраля 2020

Я не думаю, что before_update устарел в Rails 6. Я бы посоветовал использовать api.rubyonrails.org ( в данном случае ) в качестве предпочтительной ссылки, поскольку она более точно следует API , Вы также можете взглянуть на источник напрямую и увидеть, что он все еще там . Наконец, в последней версии Rails Guides предлагается , это все еще доступный обратный вызов . Попробуйте использовать before_update в своем приложении на Rails 6, и посмотрите, работает ли он должным образом.

...