2015 年 12 月 19 日,星期六

Rails 本周焦点:Rails 5 - The Beta Awakens

toddbealmear 发帖

听说你在寻找一名飞行员。我的名字是 Todd Solo,本周 Rails 焦点船长。她看起来可能没什么,但这个破铁桶以低于 12 帕塞克的速度完成了凯瑟尔奔行。她完全有能力向你走私所有最新的 Rails 情报。

本周为你准备了一期非常特别版™——我们庆祝推出了 Rails 5 的第一个测试版!在本期中,我们将介绍自 Rails 4.2 推出以来所做的所有重大新增。别担心,没有任何 Bothans 在为您带来这些信息时牺牲。

本发行版的贡献者

有 790 个仪表不齐的牧民参与了本发行版。在一年的时间里,共有 7000 多次提交!为所有这些人鼓掌表示感谢!

Rails 5 仅支持 Ruby 2.2.2+

这一点很重要——Rails 5 仅支持高于 2.2.2 的 Ruby 版本。Ruby 2.2 引入了许多新功能和性能改进,Rails 团队希望加以利用。你可以在 发布公告中阅读有关 Ruby 2.2 的更多内容。

新内容

Action Cable

如果你还没有听说,Rails 5 带来了 WebSocket 支持!Action Cable 是在 Rails 中构建 WebSocket 应用的完全集成解决方案。尝试一下!

Rails API

Rails 5 引入了对仅 API 应用的支持。基于 Rails API 项目 所做的出色工作,你现在可以生成剥离掉纯后端不需要的 Rails 部分的应用。

新命令路由器

为什么你用 rails console 来启动控制台,但用 rake db:migrate 来运行迁移?这没有任何意义。从 Rails 5 开始,许多这些旧的 rake 命令可以用 rails 来代替。

属性 API

在 Rails 5 中,你的模型获得了一种新的 attribute 类方法,它允许你轻松定义模型与非活动记录类型之间的关系。不再滥用 serialize 了!

ApplicationRecord

就像 ApplicationController 一样,在 Rails 5 中,我们获得了 ApplicationRecord 模型超类。现在,你不必对 ActiveRecord::Base 打补丁来添加功能了!

ActiveRecord::Relation#or

作为一项长期以来一直要求的功能,ActiveRecord::Relation 终于获得了我们都想要用的 #or 方法。

总结

本周的 Rails 就说到这里了。一如既往,我们无法在这里涵盖所有内容,因此我强烈建议您查看发行公告和变更日志。

我们下周会恢复正常的日程安排。

下次见 - 愿原力与你同在!