2017 年 6 月 3 日,星期六

本周 Rails:class_attribute 默认值、mini_racer 等!

Repinel 发布

大家好!我是 Roque,为您带来 Rails 世界的最新消息。

本周的 Rails 贡献者!

本周有 32 位人士参与改进 Rails。其中有三位是首次贡献!如果您希望提供帮助,请查看 问题列表

允许为 class_attribute 声明一个默认值

现在,Rails 将更轻松地为类属性设置默认值,比如 class_attribute :timeout, default: 5

用 mini_racer 替换 therubyracer

使用 JavaScript 和 Sprockets 支持生成的全新应用将使用 mini_racer 作为 Ruby 平台。它是一个更快速、更可靠的解释器。

新增

为 Active Support 添加上周和下周的 API

方法 prev_occurringnext_occurring 期望得到一个星期中的某一天,并基于 DateTime 返回适当的值,例如 DateTime.now.prev_occurring(:monday)

修复

修复 number_to_human 取整计算

修复 Rails 5 中引入的一个回归,其中像 number_to_human(1_000_000, units: { unit: 'meter', thousand: 'kilometer' }) 这样的用例将返回 "1" 而不是 "1000 kilometer"

修复提供区域设置时的不可计数表达式的复数形式

以前,诸如 pluralizesingularize 之类的这些方法只会使用英语的不可计数规则,而不是传递区域设置的规则。

rename_table 重命名主键索引

以前,rename_table 仅在列的数据类型为顺序数据类型时重命名主键索引。主键类型为 UUID 这类数据类型的表仍然会保留旧名称。

改进

允许在系统测试中为 poltergeist 或 capybara-webkit 提供更多选项

如果使用 poltergeistcapybara-webkitdriven_by 会将其注册为驱动程序,并通过 :options 参数设置传递的更多选项。

请参阅驱动程序文档以了解可以传递哪些选项。

本周就这样了,还是那句话,我们不可能涵盖所有内容,不过如果你有兴趣的话,随时可以查阅提交项。下周见!