好久不见!新年快乐!Zzak 来为大家带来本周 Ruby on Rails 第一期… *差点就写成了2022年*。🤣
聚焦
我想尝试一些不同的东西,有位特别的人我觉得值得特别表扬:Akira Matsuda。自上一期以来,他已经贡献了40次提交!他的重点一直放在渐进式的 Rails 性能优化上。我曾请他分享他是如何找到所有这些 Bug 的,他承诺在端到端的基准测试中会有显著的提升!🙏 作为回报,他请我这位RubyKaigi 的首席组织者提醒大家,他们的CFP 将在本月底截止,所以如果你想在日本松本举办的年度会议上发表演讲,请务必提交你的提案!
虽然这并非直接面向用户,但这是我们能够完全支持 Rails 中 Rack 3 的一个重要步骤。
这仅影响新生成的 Rails 应用,但默认情况下将 Puma 的配置设置为等于物理处理器总数。你可以随时根据自己的需求进行更改。
当你在控制器中为回调指定过滤器时,我们现在可以为不存在的操作引发异常。虽然此行为默认设置为 false,但将在新生成的 Rails 应用中启用。
将 “required_rubygems_version” 升级到 3.3.13 或更高版本
这是为了支持新生成的 Rails 应用的 Gemfile 模板中的预发布 Ruby 版本。然而,由于这是一个巨大的跳跃,如果你注意到任何异常情况,请告诉我们!
能够将异常消息与 “assert_raises” 断言进行匹配
虽然这最初是向上游 minitest 提出的请求,但被拒绝了。幸运的是,我们能够为 Active Support 的 Rails 测试断言提供此功能。不过,我绝对是一个忠实的 “assert_nothing_raised” 用户 🤣。
运行 rails db:prepare 时在 “internal_metadata” 中存储正确的环境
这修复了一个 Bug,即在设置 Rails 数据库时丢失了环境信息。感谢Junichi Ito 报告了这个 Bug!
仅在使用 config.hosts 时才使用 HostAuthorization 中间件
此 PR 移除了对每次请求的中间件堆栈的应用,除非你已为特定主机配置了你的应用。
这次是另一个针对最近添加的 “Rails.env.local?” 方法的小优化。这确保了它的性能与其他预定义的应用程序环境谓词相匹配,因为它们会返回预计算的实例变量。现在你无需担心在生产环境中调用此方法,因为它比以前快了近 **40%**!
本周有 29 位贡献者为 Rails 做出了贡献。你可以在这里浏览所有更改。
下次再见!
订阅以通过邮件获取这些更新。