2016 年 7 月 8 日星期五

🌵 Rails 狂野周报 🌵:Rails 4.2.7/4.1.16,新增标签辅助工具语法及其他内容!

发布者 jonatack

Hola desperados!

Jon(又称 Juan el bandido)在此来自帕普洛纳(🇪🇸)附近的纳瓦罗沙漠向你们这些绿林好汉们致意,“Howdy”,为你们带来Rails 狂野周报 🌵 的胡沙飞扬的鼠尾草特刊。

我们将报道过去 2 周内提交的部分内容。这可不是什么好地方,所以带上水袋,当心响尾蛇,不要犹豫,点击拉取请求了解更多信息!

驾马飞驰!

本周的 Rails 贡献者

为了这 38 位身经百战的牧马人致以热烈的欢呼和喝彩,其中包括 8 位首次参与!如果你想加入他们,请查看当前问题贡献指南

Rails 4.2.7.rc1 和 4.1.16.rc1 已发布,淘金热随之一触即发

这两个候选版本已于本周发布。如果未发现任何回归,Rails 4.1.16 的最终版本应在近期发布。它可能将是 Rails 4.1 的最后一个版本,因此请尽快腾出时间将你的应用程序升级到 Rails 4.2 或 Rails 5。

用于 Action View 标签辅助工具的新语法

基于 DHH 的实现提案,引入了针对标签辅助工具的新语法糖,它默认支持 HTML5 标记并避免使用位置参数。参阅 PR 了解详细信息和代码示例,并参阅 #25289 了解基础工作和讨论。

更新并改进 Rails 指南

在过去 2 周中做出了大量至关重要的文档贡献,包括完成Rails 测试指南(干得好!)以及针对 Rails 5 的更新。

改进

更清晰、更简单的堆栈跟踪

计划在 Rails 5.1 中发布此提交,目的是清理嘈杂的堆栈跟踪并仅记录与开发人员相关的跟踪。值得一读 PR 和 #25343 中的讨论。

更新 Action View 标签辅助工具属性

此提交将 Action View 标签辅助工具的布尔属性更新到最新的 w3.org 规范,同时放弃 autobuffer,转而支持 preload,并删除 pubdate

暂停嵌套时间穿梭辅助工具

在测试中嵌套时间旅行调用会造成时间存根上的混淆。为了阻止此操作,Rails 现在会在嵌套的 traveltravel_to 时间帮助程序调用上引发异常。

已修复

在 json 文件中解析日期时使用正确的时区

按照 ISO 8601 格式指定的,不含Z的时间应当解析成本地时间,而 bisher为止,它被当作 UTC 处理。此提交通过使用应用程序配置中指定的时间区解析时间来修复此问题。此外,YYYY-MM-DD 格式现在解析成日期,而不是 bisher 那样解析成日期时间

由于这是一个潜在的破坏性更改,因此移植到 Rails 5-0-stable。

使用 as 选项的路由现在使用 GET 请求工作

此修复将选项添加到 URL 路径的末尾,而不是查询参数。PR 讨论中包含一个示例,说明如何检查影响性能并解决它。反向移植到 5-0-stable。

不重新分配连接

此修复确保连接回收器的并发调用无法为两个线程分配同一个连接。反向移植到 5-0-stable。

修复 websocket 流写入的竞争状况

ActionCable::Connection::Stream 现在可以防止从多个线程对 websocket 连接并发写入。反向移植到 5-0-stable。

使用后关闭劫持的 I/O 套接字

在连接关闭时,ActionCable::Connection::Stream 现在会正确关闭劫持的套接字。反向移植到 5-0-stable。

修复将隐式呈现的模板摘要添加到 ETag 中

使用 fresh_whenstale? 修改控制器操作的隐式呈现模板现在会正确产生新的 ETag 值。

修复 Type::Date#serialize 以一致地返回 date 对象

在日期字段上执行 wherefind 查询时,Type::Date#serialize 现在会正确地将值强制转换为 date 对象。反向移植到 5-0-stable。

新功能

调试重新加载/执行死锁的新中间件

PR 反向移植到 5-0-stable,它添加了新的 ActionDispatch::DebugLocks 中间件,可用于诊断自动加载联锁中的死锁。

允许使用 rake notes 和其他目录

开发者和 gem 现在可以通过使用 SourceAnnotationExtractor 注册 rake notes 来从其他目录(如 /spec)中提取注释。

结束语 - 亲爱的小伙伴们

卢迪·穆西,我已全部缝合好啦!这就是本周铁轨精彩内容🌵的全部内容。我们有更多的改进,但此处没有篇幅予以介绍,所以请毫不犹豫地查看它们!

下周再见,伙计们!