2

我查看了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: 块内不起作用。我需要放 !self.new_record 吗?实际方法中的逻辑。

4

1 回答 1

3

我不认为before_updateRails 6 中已弃用。我建议使用 api.rubyonrails.org(在这种情况下)作为首选参考,因为它更接近 API。您也可以直接查看源代码并查看它是否仍然存在。最后,最新版本的 Rails 指南表明它仍然是一个可用的回调。尝试before_update在您的 Rails 6 应用程序中使用,看看它是否按预期工作。

于 2020-02-04T23:53:39.720 回答