2023 年 12 月 8 日,星期五

允许 object_id 成为 Active Record 的列名,以及更多内容!

发布者 Emmanuel Hayford

考虑到 Active Storage 数据库模型的 Active Record 后缀此拉取请求确保所有与 Active Storage 数据库相关的模型都遵循 ActiveRecord::Base.table_name_prefix 配置。

使隔离引擎感知 Active Record::Base 表名前缀解决隔离引擎以纳入 ActiveRecord::Base.table_name_prefix 配置。此调整将使引擎定义的模型(包括 Active Storage 中的模型)能够与 Active Record 表名前缀配置保持一致。

别名化 field_set_tag 助函数为 fieldset_tag为了与 <fieldset> HTML 元素保持一致,将 field_set_tag 助函数重命名为 fieldset_tag

修复 Time.now/DateTime.now/Date.today,以在 #travel_to 后以系统时区返回结果更正 Time.nowDateTime.nowDate.today,以在使用 #travel_to 后以系统时区返回结果。

当前的 #travel_to 实现存在一个错误,即它保留其参数的时区,导致所有存根方法都返回该记住的时区中的结果。然而,预期行为是让这些方法返回系统时区中的结果。

在使用 ActiveJob::Serializers::TimeWithZoneSerializer 反序列化时保留序列化的时区反序列化类型为 ActiveSupport::TimeWithZone 的参数时,保留序列化的时区信息。

允许 object_id 成为 Active Record 的列名此拉取请求现在允许您使用 object_id 作为 Active Record 的有效列名。

添加一个 Active Record.protocol_adapters 配置来映射 DATABASE_URL 协议在使用 DATABASE_URL 时,引入一个配置选项,以将 URL 中指定的协议与特定的数据库适配器相关联。这种分离允许应用程序独立于部署环境中配置的数据库连接详细信息选择适配器。

# ENV['DATABASE_URL'] = "mysql://127.0.0.1/example_database"
config.active_record.protocol_adapters.mysql = "trilogy"
# will connect to MySQL using the trilogy adapter

这使我们结束了我们每周的 Rails 代码库更新。

在过去的两个星期里,我们看到了 38 位贡献者 为 Rails 的代码库添光彩。

注意,Emmanuel Hayford

您每星期来自 Rails 的精彩提交、拉取请求和更多内容的内部独家新闻。

订阅以通过邮件收到这些更新。