2023 年 12 月 8 日,星期五

允许 object_id 作为 Active Record 的列名以及更多!

发布者:Emmanuel Hayford

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

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

将 field_set_tag 辅助方法别名为 fieldset_tagfield_set_tag 辅助方法重命名为 fieldset_tag,以便与 <fieldset> HTML 元素保持一致。

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

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

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

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

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

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

以上就是本周 Rails 代码库更新的全部内容。

在过去的两周里,我们迎来了 38 位贡献者为 Rails 代码库添砖加瓦。

保重,Emmanuel Hayford

每周为您提供来自 Rails 的有趣提交、拉取请求等方面的内部快讯。

订阅以通过邮件获取这些更新。