2015 年 10 月 9 日星期五

Rails 本周要闻:性能、测试助手变更、邮件预览改进等等!

Posted by toddbealmear

####

tap, tap

这个能用吗?

嘿,大家好!欢迎来到 Rails 本周要闻最新一期 - 了解更多有关 Rails 天下的所有进行中的事件。我是 Todd,我来做你的导游。让我们开始吧!

本周 Rails 贡献者

本周有 41 位杰出的人员提交到 Rails,其中包含 15 位(!)新人。想让你的名字出现在此列表中吗?查看 问题列表。

新功能

为 AttributeSet 添加相等性比较

ActiveRecord::AttributeSet 对象之间进行比较而公开相等性比较方法 (==)。

改进

邮件预览中保留格式

你是否曾经更改邮件预览的格式、修改代码和重新加载预览,结果只是让所需的格式恢复到默认设置?真烦!此变更利用 JavaScript 的 history.pushState 来在整个更新中保留所需的格式。好极了!

活动记录预加载的性能改进

ActiveRecord::Relation 上调用 preload 时,此补丁会在未明确需要时有条件地跳过昂贵的调用方法。最终好处是减少分配的对象以及速度提高约 40%。

Active Job 的 assert_enqueued_jobs 中支持数组

让 Active Job 的 assert_enqueued_jobsassert_performed_jobs 同步。具体来说,:only 选项现在可接受 Array

已修复

修复已加载引擎路由回归

4.2.3 中的回归会导致 relative_url_rootscript_name 各自包含在挂载引擎的路由中(预期行为是使用其一,而不是两者)。此补丁将在 master 和 4-2-stable 中解决该问题。

修复 Active Job 的测试助手强制转换

修复了 at: 参数未针对 assert_enqueued_withassert_performed_with 正确强制转换的问题,从而导致测试失败。

移除

为 MySQL 适配器移除 pk_and_sequence_for

pk_and_sequence_for 可不再被 MySQL 适配器使用,且正在被移除。此项更改将不会进入弃用周期,因此请注意,如果你在任何地方重写此方法,你的实现都可能会中断。

总结

本周 Rails 报道到此结束。一如既往,有许多其他变更我们没有在此处涵盖,但请随意 自行查看

下次见!