星期日,2017 年 5 月 28 日

本周的 Rails:ActiveSupport::CurrentAttributes、AEAD 等!

由 vipulnsward 发布

大家好!

我是 Vipul,我将向大家带来来自 hoffly 结束的 夏季 的 Rails 最新资讯🔥

本周的 Rails 贡献者!

本周有 36 位人士帮助我们让 Rails 变得更出色。
其中有六位人士首次做出贡献!
如果您想提供帮助,请查看 问题列表

最新信息

ActiveSupport::CurrentAttributes 提供线程隔离属性单例

如果您已通过 Devise 使用了 current_user,那么您一定已经了解 CurrentAttributes 提供的部分内容,但请继续关注,还有更多内容呢!

通过使用 CurrentAttributes,您可以在整个系统中(包括模型、控制器和视图)整个 Rails 请求周期内开始利用可跨请求访问的变量。

例如,您可以开始使用 current_user、account 等属性,以及您系统需要的更多内容,而无需将这些内容传递给不同的方法。

AEAD 加密 cookie 和会话

加密 cookie 现在使用 AES-GCM,将认证和加密结合在更快的步骤中进行,并生成较短的密文。

使用 AES 以 CBC HMAC 模式加密的旧 cookie 将通过 action_dispatch.use_authenticated_cookie_encryption 配置值在启用此新模式时无缝升级。

已解决

secrets:edit 尚未运行,则使其运行 secrets:setup

在新的应用中,如果您在调用 rails secrets:setup 之前执行 rails secrets:edit,Rails 将抛出一个错误。

借助此添加,如果尚未执行该操作,Rails 将为您完成此操作。

修复 Numericality 验证器中的回归

此变更修复了 Numericality 验证器中的一个回归,其中小数列用户输入中额外的十进制位数在数值验证中会被忽略,例如当比较 9.189.179 时。

已改进

ActiveRecord 初始化优化

在 4.2x 到 5.0 中,Rails 出现性能回归,导致在某些情况下记录初始化速度降低了 2 倍。

此变更优化了初始化,以便在以下情况下改进速度:STI 模型的速度提高了 2 倍,非 STI 模型的速度提高了 1.3 倍

本周的内容就介绍到这里,一如既往,我们无法涵盖所有变更,但如果您感兴趣,请随时查看 提交
下周见!