2017 年 8 月 28 日 星期一

图片 alt 文本丢失,重启/缓存命令修复以及更多!

作者:vipulnsward

大家好!
我是来自充满雨水的浦那的 Vipul,一边喝着 ☕ 一边给各位带来本周 Rails 变更的回顾。
如果你也想参与 Rails,请转到 问题页面帮助我们!

不再生成图片标签中的默认 alt 文本

以前,如果没有通过 image_tag 提供 alt 文本,Rails 会根据文件名自动为图片生成 alt 文本。如果没有妥善处理,这种生成可能会分散屏幕阅读器用户的注意力,给他们带来不便。

经过这次变更,如果作者没有为图片留下 alt 文本,Rails 将不再自动填充,让屏幕阅读器提示作者修复此问题。

防止在 configure_connection 中添加多余的“设置时间范围”

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

如果已通过配置变量传递时区,本次变更将删除两次设置数据库时区的操作。

为 MySQL 错误代码 1205 添加 TransactionTimeout

此 PR 向 MySQL 适配器添加了 TransactionTimeout 错误,此错误处理以下错误:
锁等待超时;请尝试重启事务(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 不依赖于客户端来接受到期时间,但可以在服务器端独立验证到期时间。

在自定义 pid 文件路径时,使 restartdev:cache 任务生效

以前,当使用自定义 pid 文件路径启动时,rails dev:cache 无法重启 Rails 服务器。
通过此次变更,即使遇到自定义 pid 文件,重启也不会再失败,并在 dev:cache 更改时成功重启 Rails 服务器。

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

这一变更对系统测试中 display_image 中的一个错误进行了快速修复,该错误用于屏幕快照,它在尝试修改冻结字符串时会引发一个错误。

修复:eager_loading不适用于:inverse_of关联选项

以前对:inverse_of关联进行eager_load调用时,eager_load会失败。这是自 Rails 5.1 版以来发生的回归。

这一变更修复了该回归。

本周就这样了!如果你有兴趣,可以随时查看完整提交列表。咱们下周见!