祝大家感恩节周末快乐!我是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 上传中按钮标签内的嵌套元素
此更改解决了当按钮或类型为 submit 的输入包含子元素(如 span、图标或其他 HTML 元素)时可能出现的潜在问题。
移除已弃用的内容
此 PR 是为移除所有已标记为 Rails 7.2 弃用的代码而进行的持续努力。请查看 PR 以了解所有即将移除的内容,以及您是否已经处理了它们!
处理 MySQL 中即使数据库查询有警告,ActiveRecord.db_warnings_action 也未被调用的情况
此更改处理了 MySQL 返回 warning_count 大于零,但在执行 SHOW WARNINGS 查询时未返回任何警告的情况。在这种情况下,ActiveRecord.db_warnings_action proc 仍会以通用警告消息被调用,而不是默默忽略警告。
延迟注册的 Active Record 适配器的验证,并允许适配器别名
此更改是为允许按名称为数据库适配器设置别名而进行的持续努力的一部分。最终目标是允许在应用程序级别将 mysql 映射到 trilogy 或 mysql2。
修复 ActiveStorage::Representations::ProxyController 未为可预览文件返回正确的预览图像变体的问题。
您可以在 此处 查看所有更改的列表。 上周,我们有 20 位贡献者 为 Rails 代码库做出了贡献!
下次再见!
订阅以通过邮件获取这些更新。