嗨,我在此分享一下沃伊切赫,让我们探讨一下过去两周 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
,默认情况下以 sandbox 模式启动 rails 控制台。开启此选项后,必须指定 --no-sandbox
才能以非 sandbox 模式启动 Rails。注意,当 rails 的环境为开发或测试时,此选项会被忽略。
修复 X_FORWARDED_HOST 被授权时的 host 显示问题
修复 HostAuthorization
在阻止 HTTP_HOST
标头时可能显示 X_FORWARDED_HOST
标头值的问题。
你可以在此查看完整的变更列表 here。过去一周,有 35 位贡献者 对 Rails 代码库做出贡献!
咱们下次见!
订阅,通过邮件接收这些更新。