嗨,大家好,周末愉快!
Vipul 在此为您奉上本周的 Rails 最新资讯。让我们开始吧。
Rails 8.0 开发现在开始 🎉
本周标志着 Rails 8.0 开发的正式开始。敬请期待更多关于 Rails 8.0 功能和更新的资讯 🎉。
在 Rails 8 中默认添加 Kamal
此 PR 默认添加了 Kamal 进行部署,其中包括生成某个 Rails 特定的 config/deploy.yml
。可以使用 --skip-kamal
跳过它。在它的 官方网站上查看更多有关 Kamal 的内容。
为 create_schema 添加对 :if_not_exists 和 :force 选项的支持
此更改为 create_schema
添加了缺失的 :if_not_exists
和 :force
选项支持。
已发布 7.0.8.2 和 7.1.3.3
已发布两个新的 Rails 版本,将 Trix 升级到 2.1.1 来修复 CVE-2024-34341
在此处查看更多详细信息 - Trix 编辑器中的 XSS 漏洞
使用别名为更新属性来修复 ActiveRecord::Relation#touch_all
在此更改之前,如果我们有类似内容的话
create_table :users do |t|
t.timestamp :legacy_updated_at
end
class User < ActiveRecord::Base
alias_attribute :updated_at, :legacy_updated_at
end
User.touch_all(:updated_at)
那么 ActiveRecord 将无法正确解析 updated_at
为其别名,并导致重复更新同一列的查询。此 PR 修复了此行为,以正确解析别名。
在 ActiveSupport::XmlMini 中支持持续时间
在此更改之前,ActiveSupport::XmlMini
无法处理 XML 中的持续时间类型,这是其中一种原始数据类型。此 PR 使用 ActiveSupport::Duration
添加了对持续时间类型的支持。
支持批次中的 touch_all
此更改添加了对批次中的 touch_all
的支持。这对于 update_all/delete_all/etc) 也是类似支持的
Post.in_batches.touch_all
您可以在 此处 查看完整更改列表。
上周,Rails 代码库有 27 位贡献者!
直到下次!
订阅接收邮件更新。