2017 年 8 月 28 日,星期一

图片 alt 文本消失,restart/cache 命令修复以及更多内容!

由 vipulnsward 发布

大家好!
我是来自雨城的 Vipul ☔,一边喝着☕,一边为大家带来本周 Rails 更新的摘要。
如果您也想为 Rails 做贡献,请前往 issues 页面帮助我们!

不在 image 标签中生成默认 alt 文本

以前,如果 image_tag 没有提供 alt 文本,Rails 会根据文件名自动生成。如果未妥善处理,这种自动生成可能会让屏幕阅读器用户感到分心和疲惫。

在此更改之后,如果作者未为图片提供 alt 文本,Rails 将不再预先填充,而是让屏幕阅读器提示作者修复此问题。

防止在 configure_connection 中出现额外的“SET time zone”

以前,Rails 会两次设置数据库连接时区,一次是在 configure_connection 中通过配置传递,另一次是在设置默认时区时。

此更改删除了重复设置时区的情况,如果时区已通过配置变量传递,则不再重复设置。

为 MySQL 错误代码 1205 添加 TransactionTimeout

此 PR 将 TransactionTimeout 错误添加到 MySQL 适配器中,用于处理该错误
锁等待超时已超过;请尝试重新启动事务(MySQL 错误 1205)

根据 RFC 2231 为 Active Storage 中的 Content-Disposition 文件名进行编码

在此更改之前,文件名包含非英文字符的文件的 URL 在 Active Storage 中会产生问题。

此更改修复了 Content-Disposition 文件名的编码,使其符合 RFC 2231,从而解决了此问题。

对于带有 ``:expires` 的已登录/加密 cookie,例如

cookies.signed[:user_name] = { value: "bob", expires: 2.hours }

Rails 现在将在写入的 cookie 载荷中嵌入过期时间。这样,Rails 就不再依赖客户端遵守过期时间,而是可以在服务器端独立验证过期时间。

使 `restart` 和 `dev:cache` 任务在自定义 pid 文件路径时也能正常工作

以前,当使用自定义 pid 文件路径启动 Rails 服务器时,`rails dev:cache` 无法重新启动 Rails 服务器。
通过此更改,对于自定义 pid 文件,restart 不再失败,并且在 dev:cache 更改时可以成功重新启动 Rails 服务器。

修复 `display_image` 中的 `can't modify frozen String` 错误

此更改快速修复了 System tests 中 `display_image` 的一个错误。该功能用于截屏,但之前在尝试修改冻结的字符串时会引发错误。

修复了 `:inverse_of` 关联选项与 eager_loading 不兼容的问题

以前,对 `:inverse_of` 关联调用 `eager_load` 会失败。这是 Rails 5.1 版本的一个回归。

此更改修复了此回归问题。

本周内容就是这些!如果您感兴趣,可以查看完整的 提交列表。下周再见!