您好,我是 Claudio Baccigalupo。本周 Rails 代码库发生了许多重大变化。让我们一起来看看。
为 `update_column(s)` 添加 `touch` 选项
这对于依赖 `updated_at` 时间戳而不是复制整个表的 ETL 过程尤其有用。之前,为了保持时间戳的最新,在使用 `update_column` 后必须调用 `touch` 方法。
添加从崩溃页面打开代码编辑器中文件的支持
支持 所有最常见的编辑器,从 Atom 到 Zed。
修复查询字符串键编码无效时出现的错误
向您的 Rails 应用发送畸形请求的机器人可能会生成嘈杂的 500 服务器错误。在此 PR 之后,这些请求将不会被报告为应用异常。
修复向下迁移的日志消息
回滚迁移时,日志中的消息将不再显示“正在迁移到 [版本]”,而是显示“正在回滚 [版本]”。
当模型没有 ORDER 列时,在查找器方法中引发错误
添加了一个新的 `ActiveRecord::MissingRequiredOrderError`,当在 `last` 和 `find_nth` 等方法中没有可用于默认排序的 ORDER 列时,该错误将被引发。
在 MissingController 错误时返回 500
控制器不存在不应被视为导致 404 的路由错误,而应被视为导致 500 并被报告的编程错误。
使用范围进一步优化 Active Record 分批处理
通过在 `use_ranges: true` 选项提供时,在 SQL 查询中使用 `OFFSET`,提高了 `in_batches` 方法的效率。
优化 ActiveSupport::SafeBuffer
基于对绝大多数 SafeBuffer 实例永不发生变异的假设,节省了不必要的内存分配。
确保 RequestForgeryProtection#normalize_action_path 为私有方法
在 033acf8 中添加的方法不应被公开。
将 tsort 添加为 railties 的运行时依赖项
`tsort` 已 从 Ruby 标准库中提取,现在作为一个 gem 包含在内。
Propshaft 已升级到 1.2.0
请参阅 最新版本库的更改内容。
您可以在 此处 查看所有更改列表。 上周有 16 位贡献者 为 Rails 代码库做出了贡献!
下次再见!
订阅以通过邮件获取这些更新。