2018 年 6 月 23 日,星期六

自定义年份名称,以及改进和错误修复

作者 claudiob

大家好,我是 Claudio,我将快速回顾一下本周 Ruby on Rails 源代码 中更改了哪些内容。

向 date_select 标签添加 year_format 选项

在日本,公元 2000 年是和历平成 12 年。以色列和泰国等其他国家也有自己的历法。

date_select 现在采用 lambda 选项 year_format,可用于自定义年份名称,例如:year_format: ->year { “平成 #{year - 1988}”

支持更多 HTTP 缓存控件

Cache-Control 响应标头添加对 stale-while-revalidatestale-if-error 扩展的支持。此支持能让 Rails 更容易利用反向代理和 CDN,而无需诉诸 hack 手法。

减少使用 pluck 时的内存分配

此 PR 优化了 ActiveRecord::Result#cast_values 以避免创建临时数组,从而将分配给每行检索的对象数减少到 1 个。 
基准显示新版本速度提升了 1.5 倍。

允许配置默认服务 URL 过期时间

现在,您可以通过设置 config.active_storage.service_urls_expire_in 来指定 Active Storage 生成的 URL 的默认过期时间。默认值为 5 分钟。

修复 touch 以一致地表现

最近添加到 Active Record 中的 touch 选项在传递属性名称时,并没有更新 update_at/on 属性。此行为现已修复。

修复 AC::Parameters 中 transform_values 的结果

此方法(和 transform_values!)并不总是返回 ActionController::Parameters 实例。此 PR(来自一位首次投稿者!)修复了此问题。

18 人在本周对 Rails 做出了贡献,其中包括 2 位首次投稿者。查看 未解决问题 列表!

除此之外,本周还公开了 安全漏洞,如果您尚未更新到最新版本,请尽快更新 Sprockets。

哦,对了,我关于 RailsConf 2018 上的 Active Storage 的 演讲视频 终于在 YouTube 上线了。🤗 祝您周末愉快!