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 的 increment! 中的 touch 选项在传递属性名称时,没有更新 update_at/on 属性。现在已修复此行为。

修复 AC::Parameters 中 transform_values 的结果

此方法(以及 transform_values!)未能一致地返回 ActionController::Parameters 的实例。此 PR(来自一名首次贡献者!)修复了这个问题!

本周有18位贡献者为 Rails 做出了贡献,其中包括2位首次贡献者。查看 开放的 issue 列表!

其他消息中,本周披露了一个 安全漏洞,所以如果还没有更新 Sprockets,请尽快更新到最新版本。

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