大家好,我是 zzak。让我们一起来看看本周 Rails 代码库的改动。
修复“#to_query”,使其不包含 nil 值的 setter
以保持与 Rack::Utils.parse_nested_query 的行为一致。
# Before
nil.to_query("key") #=> key=
# After
nil.to_query("key") #=> key
当在新的记录上调用“#increment!”时,引发“ActiveRecordError”
与 #update_columns 的行为类似,对于尚未保存或已销毁的记录,将引发异常。
撤销“ActiveModel::Attributes::Normalization”
在上一期中,我们宣布 ActiveRecord::Normalization 已迁移到 Active Model。
该 PR 被撤销了,因为 API 尚未就绪,仍在开发中。
为序列化属性添加“:comparable”选项
添加此选项是为了便于在不同编码器之间进行迁移。
有关更多信息,请参阅 API 文档。
删除“Range#each”和“Range#step”的 Monkey Patch
从技术上讲,这些方法等同于 Ruby 的原生方法,因此可以安全地移除。
为 Cache Store 添加“check_collisions”选项
添加此新选项是为了应对需要保证 session ID 唯一性的情况。
防止 Active Storage Blob 自动保存附件
此更改对现有应用程序没有影响,但可以确保向记录添加附件不会自动保存它,从而意外触发其他回调。
您可以在 此处 查看完整的更改列表。 上周,共有 24 位贡献者 为 Rails 代码库做出了贡献!
下次再见!
订阅以通过邮件获取这些更新。