Почему обратный вызов Rails before_update устарел? Какая альтернатива?

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

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

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

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


person rails_has_elegance    schedule 03.02.2020    source источник


Ответы (1)


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

person fuentesjr    schedule 04.02.2020