Rails 4.1 改进启动时间和响应布局

  • Mirko Stocker
  • 马德奎

2014 年 4 月 11 日

话题:RubyRuby on Rails安全语言 & 开发

在经历了两个候选版本后,Rails 团队刚刚发布了 Rails 4.1.0。以“单点版本(point release)”发布意在说明更改向后兼容,可以无痛升级。

Rails 4.1 包含Spring(与那个 JVM 应用程序框架无关),通过预加载应用程序来加速启动:“借助 Spring,应用程序成为一个持久进程,可以跨命令重用,因此,只有第一次运行慢。而且,我们自动检测代码更改,并只将这些部分重新加载。”在经过简单的设置之后,rake 和 rails 命令就可以充分利用预加载了。

在当今的移动世界,网站应该对不同的屏幕规格作出响应。Action Pack Variants 可以帮助开发人员根据用户的设备种类渲染不同的模板,就像开发人员已经可以响应不同的文件格式那样:

respond_to do |format|
  format.html do |html|
    html.tablet # renders app/views/projects/show.html+tablet.erb
    html.phone { extra_setup; render ... }
  end
end

Basecamp 已经使用该技术从单个 Rails 应用程序为桌面浏览器、移动浏览器和原生移动应用程序提供服务。

另外,Rails 4.1 为部分组件带来了新特性:Active Record 现在支持枚举,后者映射到数据库中的简单整型值。Action Mailer 支持在浏览器中预览邮件模板,而不用必须发送才能预览。

为了提高应用程序的安全性,应用程序需要的密钥和令牌现在可以集中存储在 config/secrets.yml 文件中。

如果读者计划升级应用程序,那么可以看下迁移指南,其中给出了所有新特性的详细说明。而且,虽然是个小版本,它也删除了一些内容,因此,在升级之前务必针对它们进行检查。要了解所有新特性的更多信息,可以看下Godfrey Chan 的博客文章

查看英文原文:Rails 4.1 Improves Boot Time and Responsive Layouts

RubyRuby on Rails安全语言 & 开发