祝大家感恩节周末快乐!我是 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
映射到 trilogy
或 mysql2
(在应用程序级别)。
修复 ActiveStorage::Representations::ProxyController
不为可预览文件返回正确的预览图像变体的问题。
您可以在 此处 查看所有更改列表。 过去一周,有 20 位贡献者 为 Rails 代码库做出贡献!
我们下次见!
订阅 获取这些更新内容发送到您的邮箱。