2022 年 8 月 19 日,星期五

日志记录、引发和救援错误,以及查询方法的修复。

发布者:Emmanuel Hayford

你好!我是 Emmanuel,我有一些来自 Rails 的更新要告诉你。

如果 ActiveSupport::Cache 被给予一个过去的过期时间,则记录警告 想象一下,您尝试写入/从缓存中读取,但由于 expires_at 在过去而导致操作静默失败……这是调试器的噩梦。此 PR 有所帮助。您不会收到错误,而是会在日志中看到“Cache expiration is in the past”。

定义并引发错误,如果 legacy_connection_handling= 从应用程序调用Rails 6.0 中,如果您切换到一个角色,例如 reading,那么所有数据库连接也会切换到该角色。然而,在 Rails 6.1 中,您可以将 legacy_connection_handling 设置为 false 来禁用此行为。legacy_connection_handling 在 Rails 7 中被移除,默认未设置为 false,导致错误。此 PR 通过重新定义 legacy_connection_handling 并引发错误来解决此问题。

修复 ActiveRecord::QueryMethods#in_order_of 以处理 nil 此 PR 修复了当 nil 传递给 in_order_of 时生成无效 SQL 的问题。

从 rack 中救援 multipart 请求的 EOFError 错误 EOFError 已添加到可能由 multipart POST 请求引起的已救援错误列表中,引发 ActionController::BadRequest 异常并渲染 400 Bad Request 而不是 500 Internal Server Error

为指南添加重大更改的描述和弃用周期 此 PR 澄清了弃用周期。这主要是为了帮助贡献者,但仍然是文档的一个很好的补充。

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

就这样。再见!