2022 年 8 月 26 日星期五

更细粒度的错误页面和扩展路由 grepping

作者 p8

嗨,我是 Petrik,带来更多 Rails 更新。

使用 error_highlight gem 定位引发错误的列 Ruby 3.1 添加了 error_highlight  gem 以显示错误发生的位置的细粒度位置。Rails 现在将在错误页面上使用 error_highlight 以显示错误发生的列范围。

扩展 bin/rails routes –grep 以通过根据路径匹配来过滤路由 查看像 /users/orhantoy/settings 之类的路径时,不一定明显对应此路由的控制器操作。bin/rails routes –grep 现在还将匹配路径。

$ bin/rails routes --grep /cats/1
Prefix Verb URI Pattern Controller#Action
   cat GET /cats/:id(.:format) cats#show
       PATCH /cats/:id(.:format) cats#update
       PUT /cats/:id(.:format) cats#update
       DELETE /cats/:id(.:format) cats#destroy

对于 304 未修改的响应不返回 CSP 头部

CVE-2022-22577 修复之后,Rails 将为每个响应发送 CSP 头部,即使响应不包含 HTML。不过,当我们在没有 HTML 的情况下返回 304 未修改时,浏览器将更新 CSP 头部,但会重复使用缓存的 HTML。如果该 HTML 具有带有随机数的脚本标记,该随机数可能不再与来自 CSP 头部的新的随机数匹配。通过不为 304s 返回 CSP 头部已修复此问题。

使 ActiveRecord::Persistence#becomes 上的虚拟属性规范化

当源类和目标类具有不同的属性时,becomes 现在将调整属性,以便添加目标类的额外属性。

自上周以来,我们有 24 位贡献者

本周就是这样!