大家好!
我是来自德里的 Vipul,今天在这个色彩缤纷的 Holi 周末向大家报道 💥
让我们看看 Ruby on Rails 世界的最新消息!
大量的修复以及更多内容。
我们非常高兴地宣布,Ruby on Rails 已被接受成为 Google Summer of Code (GSoC) 2017 届的组织之一!
当中间件链抛出错误时,有时不会被 `LocalCache::Middleware` 捕获。
此更改确保我们能够安全地捕获错误并成功清除本地缓存。
先前 `db:schema:load` 在基于子目录的迁移中不起作用。
此更改在 `assume_migrated_upto_version` 中开始使用 `Migrator.migration_files` 来修复此问题。
此更改修复了在使用 `ActionController::Renderer` 渲染模板时 malformed asset_url 的问题。
`QueryMethods` 中的 select 方法也是一个可枚举的方法。理想情况下,带有块的可枚举方法应委托给 `CollectionProxy` 上的记录,而不是 scope。
此更改修复了 `has_many` 关联中带有块的 select 不返回新构建记录的行为。
在之前的修复中,`titlelize` 中的正则表达式被更新为不匹配撇号,以更好地反映转换的性质。
不幸的是,这带来了副作用,破坏了子字符串第一个单词的首字母大写,例如:
>> "This was 'fake news'".titleize
=> "This Was 'fake News'"
此更改通过扩展后行断言以检查撇号以外的单词字符来修复此行为。
由于反序列化损坏,JSON 数组数据被以字符串化的形式返回。
此更改修复了反序列化行为。
`SchemaMigration` 模型已被提取,并且在之前使用 `Migrator.schema_migrations_table_name` 的地方改用 `SchemaMigration.table_name`。
现在 `Migrator.schema_migrations_table_name` 已被弃用,取而代之的是 `SchemaMigration.table_name`。
此更改向 `ActionController::Parameters` 添加了 `reverse_merge` 和 `reverse_merge!` 方法,类似于其对应的 Hash 方法。
`Capybara::RackTest::Driver` 不支持截图。如果我们对 `Capybara::RackTest::Driver` 调用 `#save_screenshot`,它会引发错误。
为防止错误,在此更改之后,如果系统测试中的驱动程序不支持截图,我们将不调用它。
本周有来自 20 位贡献者的许多其他很棒的 pull requests,包括 4 位首次贡献者。感谢大家!
除了代码更改之外,我们在这周和上周还有许多其他好消息。
下周再见!