2017年2月11日,星期六

本周 Rails:Rails 4.2 上的 Ruby 2.4

由 chancancode 发布

你好!我是Tim,为大家带来又一期的《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 接受冻结的 Hash

您可能知道,ActiveRecord::Base.as_json 接受一个(可选的)选项哈希。该哈希在内部会被修改,但 Rails 会先将其克隆,以免更改您传递给它的内容。但如果您传递的是一个冻结的哈希,它就会导致错误!您可能会问,怎么会这样呢?嗯,当您 clone 一个对象时,您也会克隆它的冻结状态。然而,dup 则不会这样做,这正是解决之道。问题解决!

以上就是本周的 Rails 周报。还有许多其他伟大的贡献,多到无法一一列出,但请随时 查看

下周再见!