大家好,我是 Wojtek。让我们一起来看看本周 Rails 代码库的变化。
延迟路由绘制
此更改通过中间件或在使用 url_helpers 方法时触发路由的初始重新加载。以前,这会在启动时无条件执行,这可能会不必要地减慢具有大量路由的大型应用程序的启动时间。生产环境等具有 config.eager_load = true 的环境将继续在启动时急切地加载路由。
添加 connect 路由助手
定义一个识别 HTTP CONNECT(和 GET)请求的路由。更具体地说,这会识别 HTTP/1 协议升级请求以及带有协议伪标头的 HTTP/2 CONNECT 请求。
在 SQLite 上批量插入 fixture
以前,每个 fixture 会执行一个插入命令,现在它们被合并到一个单独的批量插入命令中。
更新 PostgreSQL 适配器扩展以包含模式名
如果生成的 enable_extension 语句与当前模式不同,模式转储器现在将在其中包含模式名。
为 JSON 编码器添加 escape_html_entities 选项
这允许覆盖 ActiveSupport.escape_html_entities_in_json 中的全局配置,用于特定的 to_json 调用。这可以从控制器中按以下方式使用:
class MyController < ApplicationController
def index
render json: { hello: "world" }, escape_html_entities: false
end
end
删除 racc gem 依赖
ActionDispatch::Journey::Parser 不需要由 racc 生成。这将为将来优化它打开可能性。
支持 minitest 5.25+
Minitest 5.25 更改了 Rails 使用的一个内部方法的签名。
默认在开发环境中启用查询日志标签
这可用于将有问题的 SQL 语句追溯到生成这些语句的应用程序代码。它在使用多个数据库时也很有用,因为查询日志可以标识正在使用的数据库。
修复加密属性的返回类型
以前它总是返回 :text 类型。
当使用无法响应 #to_sym 的键进行加密配置时引发错误
例如,尝试使用 Integer 或 Float 作为键时,这是不支持的。
您可以在 此处查看全部更改列表。 上周,有 31 位贡献者 为 Rails 代码库做出了贡献!
下次再见!
订阅以通过邮件获取这些更新。