Ruby on Rails 5.0 发布
创始人
2024-03-01 17:29:16
0

经过了六个月的努力,发布了 4 个 beta 版本、2 个 RC 版本,Rails 5.0 终于正式发布了!

Rails 社区的公告中说,“这是由数百位贡献者,历经上千次提交而达成的一个新的里程碑,Rails 5.0 无疑是迄今为止最好、最完善的 Rails 版本。 经过了这么久的发展,社区依然具有如此活力,感谢每一位帮助过我们的人们!”

Ruby on Rails

在本次发布的 Rails 5.0 中,有两大亮点:

Action Cable

Action Cable 是一个重新打造的框架,用于在 Rails 中控制 WebSocket。它是一个完全整合的解决方案,包括了连接管理、用于服务器端处理的 channel 层以及客户端交互的 JavaScript 层。它增加了易用性,让设计类似聊天、提示、现场等实时功能更加容易。如果你想看看它的具体表现,你可以看看它在 Basecamp 3 强大的表现。

Action Cable 中最棒的地方是你可以在你的 WebSocket 里面访问你的整个 Active Record 和 PORO 域模型。如果你想为 WebSocket 响应复用服务器端模板的话,甚至还有一个全新打造的 ActionController::Renderer 系统可以使你在控制器之外渲染你的模板。

在开发模式时,Action Cable 可以运行在你的应用内部,你只需要将默认的开发服务器从 Webrick 切换到 Puma 即可。在产品环境中,你也可以让 Action Cable 运行自己的服务器。

API 模式

Rails 不仅是你使用服务器端 HTML 模板渲染来构建全栈应用的最佳选择,而且也是开发客户端 JavaScript 或原生应用的好伴侣,只需要用 JSON 和后端通讯即可。新推出的 -api 模式可以让你使用 rails new backend --api 创建一个新的 Rails 应用,这样会采用 JSON 而不是 HTML 作为应用骨架和配置。

这个功能还需要更多的完善,不过这是一个良好的开端。

其它亮点

  • 不用再使用 rake 命令了,统一采用一个 rails 命令即可。比如现在用 bin/rails db:migrate 取代了 bin/rake db:migrate
  • 新的属性 API
  • 生成器创建的所有模型都以 ApplicationRecord 为默认父类。
  • 等等……

具体你应该看看各个部分的变更日志,都有不少变化:

更多的细节,你可以看看完整的 Rails 5.0 发布公告,Claudio B. 做了一篇简短的演示来介绍了他喜欢的一些改进(和一些功能的去除),DHH 本人也录制了一段基础性的介绍视频: 让我们用 Rails 5 打造一个博客

此外要注意,根据 Rails 的维护策略,Rails 5.0 的发布代表着以后将只会对 5.0.x 进行错误修复,安全问题的修复会包括 5.0.x 和 4.2.x,(如果 5.1 出来了就是 5.1.x、5.0.x 和 4.2.x)。也就是说,**4.1.x 及其以下版本原则上不支持了!**而且,Ruby 2.2.2 及以上版本也将仅支持 Rails 5.0 及以上版本。

(题图来自:mobiloitte.com)

相关内容

ByeBug走得太深了。在...
要解决"ByeBug走得太深了。在'next'步进时进入了Ruby...
2025-01-12 20:02:27
不知道如何编写Rubyon...
通常可以使用 ActiveRecord 提供的查询方法来编写查询语...
2025-01-12 03:01:25
不要在每个类方法中使用se...
在每个类方法中不使用self,并且不使用单例模式的解决方法是使用类...
2025-01-11 02:32:08
不需要使用 Ruby Tr...
以下是一个解决方法,展示如何在不使用Ruby Travis-CI ...
2025-01-10 15:01:47
不显示初始化的某些部分-R...
在Ruby中,我们可以使用“#”符号来注释代码,这意味着代码的部分...
2025-01-10 08:01:31
不同类之间的Ruby Te...
以下是关于Ruby TempFile类的不同行为的示例代码:创建临...
2025-01-09 09:00:39

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...