各位好,
我很高兴地宣布 Rails 4.0.1 已发布。这是一个错误修复版本,包含超过 460 次提交。
此版本具有关于活动记录如何处理后续 order
调用的重要更改。在 Rails 4.0.0 中,当您执行类似以下操作时
User.order("name asc").order("created_at desc")
后续调用 order
将预先添加到 ORDER BY 子句中,从而形成以下 SQL
SELECT * FROM users ORDER BY created_at desc, name asc
在 Rails 4.0.1 中,已恢复 Rails 3 的行为,生成的 ORDER BY 子句类似于以下内容
SELECT * FROM users ORDER BY name asc, created_at desc
我们选择恢复该行为,因为添加了一个主要的后向不兼容性,这使得在不大幅度更改应用程序代码的情况下更难升级。此外,我们认为较旧的行为是一个错误,因为它与都链接到一起的所有其他作用域方法的行为不同。因此,我们采取了最保守的恢复它的途径,以与顺畅升级到 Rails 4 的概念保持一致。
对于想要旧行为的人,您可以使用 .reorder
或 .unscope
删除 ORDER BY 子句并生成另一个。
此外,此版本增加了一些性能改进,以使 Rails 4 运行得更快。
若要查看每个 gem 的变更,请阅读 GitHub 上的变更日志
完整列表
要查看完整的变更列表,请在 GitHub 上查看所有提交。
如果您想验证您的 gem 是否与我上传的 gem 相同,请使用以下 SHA-1 哈希值
我想感谢所有为此次发布提供帮助的贡献者。