大家好!
我是来自雨城的 Vipul ☔,一边喝着☕,一边为大家带来本周 Rails 更新的摘要。
如果您也想为 Rails 做贡献,请前往 issues 页面帮助我们!
以前,如果 image_tag 没有提供 alt 文本,Rails 会根据文件名自动生成。如果未妥善处理,这种自动生成可能会让屏幕阅读器用户感到分心和疲惫。
在此更改之后,如果作者未为图片提供 alt 文本,Rails 将不再预先填充,而是让屏幕阅读器提示作者修复此问题。
以前,Rails 会两次设置数据库连接时区,一次是在 configure_connection 中通过配置传递,另一次是在设置默认时区时。
此更改删除了重复设置时区的情况,如果时区已通过配置变量传递,则不再重复设置。
此 PR 将 TransactionTimeout 错误添加到 MySQL 适配器中,用于处理该错误
锁等待超时已超过;请尝试重新启动事务(MySQL 错误 1205)
在此更改之前,文件名包含非英文字符的文件的 URL 在 Active Storage 中会产生问题。
此更改修复了 Content-Disposition 文件名的编码,使其符合 RFC 2231,从而解决了此问题。
对于带有 ``:expires` 的已登录/加密 cookie,例如
cookies.signed[:user_name] = { value: "bob", expires: 2.hours }
Rails 现在将在写入的 cookie 载荷中嵌入过期时间。这样,Rails 就不再依赖客户端遵守过期时间,而是可以在服务器端独立验证过期时间。
以前,当使用自定义 pid 文件路径启动 Rails 服务器时,`rails dev:cache` 无法重新启动 Rails 服务器。
通过此更改,对于自定义 pid 文件,restart 不再失败,并且在 dev:cache 更改时可以成功重新启动 Rails 服务器。
此更改快速修复了 System tests 中 `display_image` 的一个错误。该功能用于截屏,但之前在尝试修改冻结的字符串时会引发错误。
以前,对 `:inverse_of` 关联调用 `eager_load` 会失败。这是 Rails 5.1 版本的一个回归。
此更改修复了此回归问题。
本周内容就是这些!如果您感兴趣,可以查看完整的 提交列表。下周再见!