2022年12月16日,星期五

关于预加载 STIs 的文档、TimeHelpers 改进等

发布者:Emmanuel Hayford

您好!我是Emmanuel Hayford,为您带来Rails的最新动态!

将before_committed!行为的更改隐藏在配置中 此PR引入了一个新的配置选项,该选项将在Rails 7.1中默认启用事务中所有已注册记录的before_committed!回调。以前,如果事务中存在同一条记录的多个副本,回调仅在记录的第一个副本上运行。

TimeHelpers:在travel和freeze中也包含with_usec关键字参数 ActiveSupport::Testing::TimeHelpers现在接受freeze_timetraveltravel_to方法的命名参数with_usec。传入true可以防止使用change(usec: 0)截断目标时间。

允许使用包含选项和HTML选项的单个哈希调用f.select 现在可以使用包含选项和某些HTML选项的单个哈希来调用select。以前,这样做无法按预期工作

<%= select :post, :author, authors, required: true %>

而是你需要这样做

<%= select :post, :author, authors, {}, required: true %>

 现在,对于以下HTML属性,这两种形式均可接受:requiredmultiplesize

修复表单辅助日期/时间标签与选项行为不一致的问题 DateTime表单辅助(time_fielddate_fielddatetime_fieldweek_fieldmonth_field)现在接受TimeDateDateTime的实例作为:value选项。

以前我们有:<%= form.datetime_field :written_at, value: Time.current.strftime(“%Y-%m-%dT%T”) %>

现在:<%= form.datetime_field :written_at, value: Time.current %>

记录预加载STI的四种方法 此PR记录了几种预加载STI的方法。该文档位于Edge Rails Guides上,您可以在那里阅读所有相关信息。

感谢上周的26位贡献者

下周再见。

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