前段时间,Ruby on Rails 组发布了最受欢迎的 Ruby Web 框架的 3.1 版本,时间几乎是上一个主要版本 Rails 3.0 发布一年之后。这个版本包含了以下重要特性:
- Assets Pipeline
- 流
- 可逆迁移
- 把 jQuery 作为默认的 JavaScript 库
Assets Pipeline 是 Rails 的主要更新,有个完整的指南讲述了如何使用它以及它能做什么:
Assets Pipeline 提供一个框架串联并缩减或压缩 JavaScript 和 CSS。它还允许通过其它语言编写它们,比如说,CoffeeScript、Sass 和 ERB。
Assets Pipeline 也是 David Heinemeier Hansson 在 RailsConf 上的演讲内容。
流是指 Rails 现在支持 HTTP 流了,也被称作块状传输编码。流的优点是 Web 服务器可以在它完全计算完毕之前开始传输。Rails 组在他们的博客上解释了流的好处:
流没有减少延迟,也没有减少生成动态响应所需的时间。但因为应用程序立刻发送内容,而不是等到整个响应渲染出来,所以客户端可以尽早请求内容。特别地,如果你刷新 HTML 文档头,将会以并行的方式获取 CSS 和 JavaScript 文件,与此同时,服务器会处理内容的生成。结果是页面加载更快了。
有个 Railscast 解释了如何为 Rails 应用程序设置流。
Rails 已经支持向下迁移一段时间了,那么,为什么说可逆迁移是新的?到目前为止,你都不得不自己写向下迁移,但 Rails 3.1 现在可以帮你完成这部分工作。 Rohit Arondekar 解释其中的奥妙:
基本上,如果你在你的迁移里定义一个 change 方法(而不是之前的 up 和 down 方法),然后应用迁移,那么命令会照常执行。不过,在逆向迁移的时候,命令会被记录,然后生成一组反向命令并运行之。反向命令只是简单地把原来命令反过来执行。
这些只是 Rails 3.1 的一部分改变,发布说明里面还有很多等着你去发现。举个例子,强制SSL 的配置选项现在支持了。要知道你的插件能否在3.1 下工作,请查看 railsplugins.org 。
你打算升级你的应用程序吗?Austin Hughey 在他发表到The H 上的文章给出了一些建议。
查看英文原文: Ruby on Rails 3.1 Released, Brings Assets Pipeline, Streaming, and Javascript Changes
评论