嘿,zzak 在此发布 2023 年 11 月的本周 Rails。
支持 MariaDB 的 RETURNING 子句
此 PR 为 MariaDB 适配器添加了 INSERT ... RETURNING
表达式的支持。
您可以在 MariaDB 的官方文档中阅读有关此功能的更多信息。
简化 attr_internal_define
此 PR 优化了 Module.attr_internal_naming_format= 的内部,以便急切地从给定格式中去除“@”前缀。
不再接受向此方法提供“@”前缀,并将引发弃用警告。
让服务作为带有“has_one_attached”和“has_many_attached”的 Proc
现在您可以将服务指定为可调用的 Proc,让 Active Storage 中的专门附加关联更加灵活。
class User < ActiveRecord::Base
has_one_attached :avatar, service: ->(user) do
user.in_europe_region? ? :s3_europe : :s3_usa
end
end
将“quote_string”移动到 AbstractMysqlAadapter 类
对于trilogy
和mysql2
适配器,该方法的实现完全相同,因此将它们重构到继承的父类中是有意义的。
如果您希望在 Mysql2Adapter 上定义此方法,它已移动,没有弃用警告,也没有更改日志(在编写本文时)。
修复在 sprockets 中使用 trix
Action Text 已更新为包含最新版本的 Trix v2.0.7,并且在尝试将库与 Sprockets 一起使用时修复了一个问题。
让 Dockerfile 模板与 Kubernetes 无根容器兼容
如标题所述,现在在 Kubernetes 中的无根容器中运行时,在运行rails new
时生成的Dockerfile
可以正常工作了。
这可能会对其他环境产生影响,但本质上从用户名和组名更改为使用 UID 和 GID。
迁移文件创建错误中的非零退出状态
如果在运行bin/rails generate migration
时出错,现在会返回非零退出状态。
为 SQLite3 适配器添加延迟外键支持
此 PR 是朝向使 SQLite 成为生产中的可行选项迈出的一步,这次添加了 延迟外键 的支持。
为 PostgreSQL 适配器添加“SET CONSTRAINTS”的支持
现在您可以使用set_constraints
方法,而不是手工执行查询。
有关详细信息,请参阅PostgreSQL 文档。
在声明更改时改进错误消息
现在,assert_changes
和 assert_no_changes
的错误消息将使用 .inspect
来显示对象,让区分 nil
和空字符串、字符串和符号等变得更容易。
你可以在 这里 查看变更的全部清单。
上周共有 30 位贡献者 为 Rails 代码基础做出了贡献!
下次再见!
订阅,将这些更新内容发送至你的邮箱。