2016 年 7 月 15 日,星期五

本周 Rails:你为什么还没有更新到 Rails 5?!

由 chancancode 发布

来自 Claudio 的问候。

本周 Rails 5 有一些小的修复。没什么大不了的。没什么能阻止将所有应用从 Rails 4.2 升级到 Rails 5。所以快行动起来吧!你能行的!

Rails 4.2.7 和 4.1.16 已发布!

查看博客文章以获取所有 CHANGELOG 的链接。随着Rails 5 的发布,这可能是 Rails 4.1 的最后一个版本。请花些时间将您的应用程序升级到 Rails 4.2 或 Rails 5。

本周 Rails 贡献者

本周有 32 人为 Rails 贡献,其中包括 6 位首次贡献者。恭喜!不要犹豫,查看本周合并到 master 的所有更改

新增

为批量处理添加 LIMIT 支持

Active Record 的批量处理方法现在支持 limit,因此您可以编写类似 Post.limit(10_000).find_each { ​|post| … }​ 的语句。

修复

修复 AR::to_param 以最大化内容

文档指出 AR::to_param 应截断超过 20 个字符的值。此提交强制执行此行为,使用尽可能多的字符来最大化 URL 中包含的信息。

AS::Duration 正确序列化空值

ActiveSupport::Duration::ISO8601Serializer 在尝试序列化零长度持续时间时不会失败,例如 ActiveSupport::Duration.parse(0.minutes.iso8601)

AS::TimeZone#strptime 引发正确的错误

现在,尝试解析无效日期(例如 strptime('1999-12-31', '%Y/%m/%d'))将引发 ArgumentError,而不是令人困惑的 NoMethodError: undefined method empty?

检查 env 中设置的 request.path_parameters 编码

路径参数的编码现在在分派过程的早期进行检查,以便直接路由到 Rack 应用或跳过控制器实例化的路由不必防御非 UTF8 字符。

改进

加速 RDoc 生成

rails/master 的每个提交都会自动更新Rails 文档。通过仅包含自上次生成以来发生更改的文件,RDoc 生成速度更快。

总结

跟我一起说:“下周我将把所有项目都升级到 Rails 5。”

💬 “下周我将把所有项目都升级到 Rails 5” 💬

我希望你会!最后,如果你这个夏天恰好去阳光明媚的加利福尼亚旅行,请来洛杉矶 Ruby 会议打个招呼。🌇😎🏄

–Claudio