2023 年 11 月 24 日,星期五

ErrorReporter#unexpected,with_routing 测试辅助程序,等等!

vipualnsward 发布

祝大家感恩节周末快乐!我是 Vipul,为您带来本周 Rails 代码库更改的最新信息。

ErrorReporter#unexpected 可在生产环境报告在开发环境引发
此更改添加了 ErrorReported#unexpected 以报告前置条件违规。

例如

  def edit
    if published?
      Rails.error.unexpected("[BUG] Attempting to edit a published article, that shouldn't be possible")
        return false
    end
      # ...
  end

以上代码将在开发和测试中引发错误,但在生产中只会报告该错误。

让 with_routing 测试辅助程序适用于集成测试
现在已将 with_routing 测试辅助程序支持添加到 ActionDispatch::IntegrationTest 中,以便允许在集成测试中使用。

在 Active Storage 上传中支持按钮标签内的嵌套元素
此更改解决了当提交类型的按钮或输入包含子元素(例如跨度、图标或其他 HTML 元素)时可能出现的潜在问题。

删除弃用
此 PR 是一项持续努力,旨在删除所有已弃用的代码,并将这些代码标记为弃用,适用于 Rails 7.2。查看 PR 以了解所有即将不再提供的功能,如果您已在处理它们!

处理 MySQL 中即使数据库查询有警告但未调用 ActiveRecord.db_warnings_action 的情况
此更改处理 MySQL 返回 warning_count 大于零,但在执行 SHOW WARNINGS 查询时未返回任何警告的情况,ActiveRecord.db_warnings_action proc 仍将使用通用警告消息调用,而不是静默忽略警告。

延迟验证已注册的动态记录适配器,并允许别名适配器
此更改源于一项持续进行的工作,旨在按照名称允许数据库适配器别名。此处的最终状态允许 mysql 映射到 trilogymysql2(在应用程序级别)。

修复 ActiveStorage::Representations::ProxyController 不为可预览文件返回正确的预览图像变体的问题。

您可以在 此处 查看所有更改列表。 过去一周,有 20 位贡献者 为 Rails 代码库做出贡献!

我们下次见!

订阅 获取这些更新内容发送到您的邮箱。