2

4月8日,Ruby on Rails 4.1 新鲜出炉!虽然从 4.0 到 4.1 只是一个小版本号升级,但实际上其中包含了大量的新特性,小版本号只意味着这个版本避免不向后兼容的改动而已。让我们看下Rails 4.1 的新特性吧!

Spring

Spring 是 Rails 4.1 带来的全新的预加载器。它使得运行测试、rake任务和生成器更快,大型项目有福了!其实 Rails 以前的做法蛮原始的,和古老的 CGI 的做法有的一拼。每次你运行 rake,你整个应用都会被重头加载,然后一个命令运行完毕之后,这些就都丢弃了。下次运行得重头再来!有了 Spring 的话,应用会是一个持续的进程,可以复用,所以只有第一次运行会比较慢。同时 Spring 会自动检测到代码的更改,然后重新加载相应的部分。这真是一个巨大的改变!

Variants

借助 Variants 之力,同样的mime类型(HTML)可以使用不同的模板和响应了。这对移动端适配来说真是太棒了!现在,你可以为桌面、平板、手机准备不同的模板了,而控制器逻辑则可以共用。Basecamp就用到了这个特性,同一个Rails应用,同时为桌面浏览器、移动浏览器和原生移动应用服务。复用率和生产率齐飞!

Enums

Enums 是一个好用的语法糖。它使用符号来表示状态,清晰易读,同时实现上又有优化,相比使用布尔值或整数值表示状态,Enums 并不会拖慢性能。

Mailer 预览

Mailer 可以让你方便地创建预览,然后在浏览器中查看。对于测试来说,这真是太方便了。改动之后,只需刷新就可以看到效果,真简单。这显然比把日志打印输出的HTML贴到浏览器中查看要方便得多了。

secrets.yml

为了避免在代码仓库中泄露敏感数据(例如密码什么的),往往是在代码仓库中留存一份配置示例文件,实际部署的时候再替换。现在可以使用 Rails 4.1 新添加的 secrets.yml 了。它提供了一个方便的接口,用来访问环境变量或部署脚本设定的代码。

注意,上面只列出了Rails 4.1 主要的新特性。从 4.0 到 4.1,共有 5200 次提交,包含了众多的改进。

你也可以查看 Rails 4.1 的发布记录了解变动的详情。

你可以使用 gem install rails 安装 Rails 4.1.

顺便说下,RailsConf 再过两周就要举办了,我们期待你的到来!


原文 Rails 4.1.0: Spring, Variants, Enums, Mailer previews, secrets.yml
翻译 SegmentFault


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity


引用和评论

0 条评论