2024 年 8 月 16 日,星期五

推迟路由绘制、连接路由帮助器等

Wojtek 发布

嗨,我是 Wojtek。让我们看看本周 Rails 代码库中的更改。

推迟路由绘制
此更改将通过中间件或使用 **url_helpers** 方法触发路由的初始重新加载。以前,这在启动时无条件执行,这可能会不必要地延长具有大量路由的大型应用程序的启动时间。具有 **config.eager_load = true** 的生产等环境将在启动时继续急切加载路由。

添加连接路由帮助器
定义识别 HTTP CONNECT(和 GET)请求的路由。更具体地说,这识别带有协议伪标头的 HTTP/1 协议升级请求和 HTTP/2 CONNECT 请求。

在 SQLite 上批量插入装置
以前针对每个装置执行一个插入命令,现在它们被聚合到一个批量插入命令中。

更新 PostgreSQL 适配器扩展以包含架构名称
如果架构转储与当前架构不同,架构转储现在将在生成的 **enable_extension** 语句中包含架构名称。

向 JSON 编码器添加 escape_html_entities 选项
这允许针对对 **to_json** 的特定调用覆盖在 **ActiveSupport.escape_html_entities_in_json** 中找到的全局配置。可以按以下方式在控制器中使用它

class MyController < ApplicationController
  def index
    render json: { hello: "world" }, escape_html_entities: false
  end
end

删除 racc 宝石依赖
**ActionDispatch::Journey::Parser** 无需由 **racc** 生成。这将带来将来对其进行优化的可能性。

支持 minitest 5.25+
Minitest 5.25 更改了 Rails 使用的一个内部方法的签名。

在开发环境中默认启用查询日志标记
可用于将有问题的 SQL 语句追溯到生成这些语句的应用程序代码。在使用多个数据库时也很有用,因为查询日志可以识别正在使用的数据库。

修复从加密属性返回的类型
以前它总是返回 **:text** 类型。

在加密配置中使用无法响应 #to_sym 的键时引发
如将整数或浮点数用作键时,这是不受支持的。

你可以 在这里 查看完整的更改列表。 上周我们有 31 位贡献者 为 Rails 代码库做出贡献!

下次见!

订阅 以将这些更新发送到你的邮件中。