大家好,我是Wojtek。让我们一起来看看过去两周 Rails 代码库的变化。
Rails 版本 7.0.7.2 和 6.1.7.6 已发布
就在上一轮安全版本 7.0.7.1 和 6.1.7.5 发布后不久,此次版本修复了文件权限问题。
MRSK 更名为 Kamal
由于商标侵权纠纷,该项目已更名为 Kamal。
为 Active Job 添加 after_discard 方法
它允许作业作者定义一个块,该块将在作业即将被丢弃时运行。
确保 response.parsed_body 支持模式匹配
Nokogiri 和 Minitest 都支持 Ruby 的模式匹配。通过使用 ActiveSupport::HashWithIndifferentAccess 解析 response.parsed_body 的 JSON 内容,现在它兼容模式匹配,并可用于 Minitest 的新 assert_pattern 方法。
为系统测试添加 Playwright 作为驱动程序的支持
Playwright 作为一种新的浏览器自动化工具正变得越来越受欢迎。社区中也维护着 Ruby 客户端 和 Capybara 驱动程序。
为新的 Rails 7.1 应用生成 config.autoload_lib
新的 7.1 应用将开箱即用,从 lib 目录自动加载。 config/application.rb 中的新行包含:config.autoload_lib(ignore: %w(assets tasks))。
允许使用 param_delimiter 重定义 to_param 分隔符
添加了 ActiveModel::Conversion.param_delimiter 来配置 to_param 方法中使用的分隔符。
弃用 read_attribute(:id) 返回主键的行为
从 Rails 7.2 开始,read_attribute(:id) 将返回 id 列的值,而不管模型的主键是什么。要获取主键的值,可以使用 #id 代替。对于复合主键模型,read_attribute(:id) 现在将返回 id 列的值。
使用 alias_attribute 为 id 属性提供 id_value 别名
作为上述更改的后续,添加了 ActiveRecord::Base#id_value 别名来访问记录 id 列的原始值。此别名仅适用于声明了 :id 列的模型。
添加一个选项,默认情况下以沙盒模式启动 rails 控制台
添加了 sandbox_by_default 选项,以便默认以沙盒模式启动 rails 控制台。启用此选项后,必须指定 --no-sandbox 才能以非沙盒模式启动 rails。请注意,当 rails 环境为 development 或 test 时,此选项将被忽略。
在 X_FORWARDED_HOST 被授权时修复主机显示
修复 HostAuthorization 在 HTTP_HOST 标头被阻止时,可能显示 X_FORWARDED_HOST 标头值的问题。
您可以在此处 查看完整的更改列表。 在过去一周中,有 35 位贡献者 为 Rails 代码库做出了贡献!
下次再见!
订阅以通过邮件获取这些更新。