星期六,2017 年 2 月 11 日

Rails 本周报:4.2 版 Rails 上的 Ruby 2.4

作者 chancancode

您好!我是 蒂姆,为大家带来 Rails 本周报的最新一期。

本周的 Rails 贡献者

本周有 26 位贡献者贡献了自己的力量,其中有 4 位是首次贡献!真是棒极了!

Rails 4.2.8.rc1 已发布!

如果您正在使用 Rails 4.2,可能想要抢先试用最新补丁版本的候选发布版。这是第一个支持 Ruby 2.4 的 Rails 4 版本,所以欢迎大家踊跃尝试,帮助我们解决其中的问题!

改进

弃用脏记录锁定

ActiveRecord::Base#lock!#with_lock 在执行实际锁定操作前重新加载记录。如果有任何未保存的更改,它们都将被丢弃且没有任何警告。在 Rails 5.2 中完成这项工作后,尝试锁定一个脏对象时将引发异常。在此之前,对该特性的支持已被弃用,所以请留意之类的警告!

移除对回调条件中的字符串的支持

如果您已经在回调中的 ifunless 条件中看到关于字符串使用的弃用通知,那就请注意!对这些特性的支持现已正式移除。如果你还没有更新,现在是时候了!

修复

允许 ActiveRecord::Base.as_json 接受已冻结的散列表

您可能已经知道,ActiveRecord::Base.as_json 接受一个(可选)选项散列表。该散列表在内部被修改,但 Rails 很贴心地先克隆了它,以便不会更改您传递给它的内容。然而,如果您的内容被冻结,它将会引发错误!您可能会问,这是怎么做到的。嗯,当您 clone 一个对象时,其被冻结的状态也会被克隆。dup 则不然,结果它反而成了解决方法。结案!

这就是 Rails 本周报的全部内容了。还有许多其他出色的贡献,在这里无法一一列举,但欢迎您 查看一下

下周再见!