我查看了https://apidock.com/rails/ActiveRecord/Callbacks/before_update它说 before_update 已被弃用。有谁知道这是为什么以及替代方案是什么?
我有一些代码逻辑需要在更新现有记录时专门运行。 Before_save 在创建和更新时都会被调用,所以我不能使用它。
编辑:我想我可以做 before_save :do_stuff, if: !self.new_record?但我觉得这仍然很奇怪..
编辑2:!self.new_record? if: block 内不起作用。我需要放置!self.new_record?实际方法内的逻辑。
最佳答案
我不认为 before_update
在 Rails 6 中已被弃用。我建议使用 api.rubyonrails.org ( in this case ) 作为首选引用,因为它更紧密地遵循 API。您还可以查看source directly and see that it's still there 。最后,最新版本的 Rails Guides 建议 it is still an available callback 。尝试在 Rails 6 应用程序中使用 before_update
,看看它是否按预期工作。
关于ruby-on-rails - 为什么 Rails before_update 回调被弃用?还有什么选择呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60032823/