gpt4 book ai didi

ruby - 如何防止 update_attributes!快捷回调?

转载 作者:数据小太阳 更新时间:2023-10-29 07:56:58 26 4
gpt4 key购买 nike

我想在保存事件之前进行检查,这样我就可以在每次更新特定字段时发出警报。我尝试使用“changed”来检测它,但是 update_attributes 简化了数据库验证,所以我无法使用 changed?

例如,这会注意到更改:

m = Player.new
m.name = "Tom"
m.changed?
=> true

但这不是:

m = Player.new
m.update_attributes!(name: "John")
m.changed?
=> false

我有什么不同的想法吗?

最佳答案

changed? 返回 true 如果您的对象上有非持久性更改。在您调用之后,该对象是最新的——因此 false 返回。检查 ActiveModel::Dirty 模块,其中有几个实用程序可以处理对象的更改。 previous_changes 可以解决问题,也许有更适合您的用例的方法。

关于ruby - 如何防止 update_attributes!快捷回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10939197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com