2021 年 11 月 7 日,星期日

嵌套属性用于委派类型,提高性能等等!

发布者:robin850

嘿!我是Robin,带来 Ruby on Rails 世界的最新消息。

支持用于委派类型的 accept_nested_attributes_for
Rails 6.1 引入了委派类型,以简化某些多态关系的处理。此拉取请求在这些类型中使用 accepts_nested_attributes_for 变得非常容易。

对 MySQL 使用嵌套查询来执行更新及 GROUP BY 和 HAVING
由于 MySQL 不支持使用 GROUP BYHAVING 子句的 UPDATE,因此此补丁修复这种场景并依赖子查询。已合并一个 类似补丁 来处理 DELETE 查询。

在不安全的重定向上引发特定错误
除非您明确要求,否则 Rails 7.0 会阻止重定向到当前主机之外的其他主机。对于不安全的重定向,将引发 ArgumentError。现在,此错误更加具体,允许您依赖 rescue_from 块来处理这种情况。

添加 url_from 来检查 URL 是否内部
与上一个补丁一致,控制器中提供了新的 url_from 方法来检查 URL 是否内部,简化了非内部 URL 提供替换的方式。

改善 Active Job 测试帮助器的错误消息
此类细微改动让生活更轻松。assert_enqueued_withassert_performed_with 的错误消息已得到改善,以便在断言失败时简化调试。祝测试快乐!

优化 ActiveSupport::CurrentAttributes 方法生成
看到性能优化总是令人开心。此补丁涉及从 ActiveSupport::CurrentAttributes 继承的类的生成方法。此处的技巧是将代码生成为字符串,而不是依赖闭包。

自上次以来,13 人为 Rails 做出了贡献。所有改动都可以在 此处查看。下周见!