2017年2月25日,星期六

本周 Rails:5.1.0.beta1 发布,加密密钥,系统测试等!

由 gregmolnar 发布

大家好,

Greg 带来最新的 Rails 世界动态。这是一个忙碌的一周,有新版本发布和许多改进!

新的 Rails 版本

5.1.0 的第一个 beta 版本已经发布,其中包含对 JavaScript、系统测试、加密密钥等的改进!
此外,4.2.8 的新稳定版本已经发布,5.0.2 的候选版本也已发布。

Eileen 加入 Rails 核心团队

我们很自豪地欢迎 Eileen M. Uchitelle 加入 Rails 核心团队!

本周 Rails 贡献者

本周有 33 位开发者为 Rails 贡献代码。如果您想成为这个团队的一员,请查看 issues 列表 并做出贡献!

新增

自定义 URL 助手和多态映射

此拉取请求引入了对自定义 URL 助手和在 routes.rb 中定义自定义多态映射的支持。

Capybara 与 Rails 集成(又名系统测试)

Rails 现在内置了与 Capybara 的集成,这使得编写系统测试更加容易,因为所有设置都由 Rails 处理。有关更多详细信息,请阅读有关此拉取请求的介绍。

加密密钥支持

Rails 引入了受 Sekrets gem 启发的密钥加密功能。
值得注意的是,一些 加密改进也即将到来。

改进

在所有 Active Job 信息日志中包含 JobID

之前,当作业开始或结束执行时,不会记录 JobID,但现在情况已不再如此,这使得调试与作业相关的问题更加容易。

从现在开始,ActiveSupport::Gzip.decompress 将检查 gzip 页脚中的 CRC。

允许 3 级配置按环境对数据库连接进行分组

如果您每个环境有多个数据库连接,您可以按环境对配置进行分组。 查看此评论 获取示例。

委托给 scope 而不是 merge! 来处理集合代理

通过在不必要时避免使用 merge! 来提高性能。

修复

在冻结 TimeWithZone 实例之前预加载 to_datetime

在冻结 ActiveSupport::TimeWithZone 实例后,无法调用 to_datetime,因为该值已缓存到实例变量中。为避免此问题,会在冻结发生之前预加载实例变量。

HashWithIndifferentAccess#compact 修复 nil 问题

HashWithIndifferentAccess#compact 在哈希不包含 nil 值时返回 nil。此 PR 修复了该问题。

已弃用

弃用在 quoting / type casting 中使用 quoted_id

最初,quoted_id 用于旧的引用机制。现在我们使用类型转换机制,因此 quoted_id 被弃用。

这就是本周 Rails 动态的全部内容。还有许多其他伟大的贡献,不一一列举,但欢迎您 自行查看! 

下周再见 👣