2016年11月18日,星期五

本周 Rails:Active Support 弃用项等!

发布者:imtayadeway

大家好!

我是Tim,为您带来本周Rails的最新消息……

本周 Rails 贡献者

本周共有29位杰出的贡献者参与了Rails的开发,其中有9位是首次贡献!何不通过解决一个开放性问题,让自己成为下一期“本周Rails”的贡献者呢?

改进

移除Active Support的弃用方法

为了准备发布5.1版本,Rails 5.0中标记为弃用的方法将被移除。如果您最近看到了这些警告,现在是时候采取行动了!特别值得注意的是,这个PR中移除了‘alias_method_chain’,该方法因Ruby 2.0+的‘Module#prepend’而变得过时。

修复

支持AC::Parameters用于PG HStore

从Rails 5开始,Active Record会判断一个值是否需要被序列化,如果它是一个“Hash”对象。如果传入一个“ActionController::Parameters”对象(它不再继承自“Hash”),序列化将会中断。这个更改恢复了原始行为。

修复JSON编码中的“Infinity”和“NaN”值

如果‘as_json’为任何值返回“Infinity”或“NaN”,它会导致‘JSON.generate’ 💥,因为这些值不允许出现在JSON中。这些值不再被视为基本类型,而是会递归调用‘as_json’,以便它们被正确地序列化为“null”。太棒了!

修复使用单一资源时rails routes的错误输出

如果您定义了单一资源,‘rails routes’会显示一些错误的输出。具体来说,# ‘show’动作的路由会出现在“edit”助手下,这显然是错误的。感谢这个PR中对它们出现顺序的调整,您的路由现在应该正确了!

正确计算调用associations的uniq后的新记录数

如果‘CollectionProxy’有多个新记录,调用‘uniq’会产生错误的结果。这是因为该方法被别名为‘distinct’,而‘distinct’是一个不同的概念。通过这次修复,原始行为得到了恢复。

总结

这就是本周Rails的全部内容!还有许多其他出色的贡献,在此无法一一列举,但欢迎您查看它们

下周再见!