gpt4 book ai didi

deprecation-warning - Rails 5.1.1 弃用警告 changed_attributes

转载 作者:行者123 更新时间:2023-12-04 00:34:20 28 4
gpt4 key购买 nike

我刚刚从 Rails 5.0.0 升级到 5.1.1,并开始收到大量这样的弃用警告:

DEPRECATION WARNING: The behavior of changed_attributes inside of after callbacks will be changing in the next version of Rails. The new return value will reflect the behavior of calling the method after save returned (e.g. the opposite of what it returns now). To maintain the current behavior, use saved_changes.transform_values(&:first) instead.



和这个:

DEPRECATION WARNING: The behavior of attribute_changed? inside of after callbacks will be changing in the next version of Rails. The new return value will reflect the behavior of calling the method after save returned (e.g. the opposite of what it returns now). To maintain the current behavior, use saved_change_to_attribute? instead.



我没有在我的项目中的任何地方明确使用这些方法,警告主要指向我的模型上的 create 和 update 调用。

我相信这与我的验证和 after_update 有关。和 after_create我使用诸如 if: { author_id_changed? } 之类的 confitions 的回调但我不知道如何处理它们。

我也相信警告与 this 有关对 ActiveRecord 的大规模更新。

非常感谢您能提供的任何帮助。

UPD

This article帮助很大!

最佳答案

好吧,通过运行 bundle update 解决了所有问题并更新 gems 并关注 this article和改变 attribute_changed?来电 after_回调(但不在 before_ 回调和 validations 中)并从 attribute_was 切换至 attribute_before_last_save .

关于deprecation-warning - Rails 5.1.1 弃用警告 changed_attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44634356/

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