大家好!Emmanuel 又来了,带来了一些 Rails 的更新。
如果记录之前已被销毁,则不要再次触发 destroy 的 after_commit :destroy 回调 after_commit :destroy 回调即使在记录之前已被销毁,也会始终运行。此 PR 解决了此问题。本质上,我们不希望在未持久化的记录上调用 after_commit :destroy。
允许 ErrorReporter 处理多个错误类 ErrorReporter 现在允许您一次处理多个错误类。您现在可以像这样处理多个错误类:
Rails.error.handle(ArgumentError, TypeError) do # 执行一些操作 end 修复了尚未加密值的 ciphertext_for ciphertext_for 应该返回属性的加密值,即使该属性已被加密,并且记录尚未持久化。在此提交之前,情况并非如此,相反,对于未持久化的记录,ciphertext_for 返回属性的明文值。此 PR 解决了此问题。
保存后避免不必要的序列化调用 我们因此获得了一些性能提升:此提交将 value_for_database 进行了记忆化,因此在保存后 serialize 不会第二次调用。由于 value 是唯一的真相来源,并且可以就地更改,因此记忆化会仔细检查 value 何时与记忆化的 @value_for_database 不同。 verbatim 来自提交消息。 😎
允许 ActiveRecord::QueryMethods#reselect 接受哈希 此 PR 允许 ActiveRecord::QueryMethods#reselect 接受哈希值,类似于 此 PR 允许 ActiveRecord::QueryMethods#select 接受哈希。
21 位贡献者在本周改进了 Rails。下周我们将为您带来更多更新!
请保重。
订阅以通过邮件获取这些更新。