Rails 3 Beta版发布 功能更新变化丰富

【快报】流行Web开发框架Ruby on Rails最近发布了最新的Rails 3 Beta版本,之前Rails创始人DHH曾对Rails 3 Beta版的发布日期做过预告:“假如我们在1月底还未完成发布的话,那功能完整的Rails 3 Beta版将不迟于2月份完成。”

在之前的报道《Rails 3 Beta版本月将出 Merb融合带来更多选择》中曾提到,在Rails 3中将融合另一个基于Ruby的框架Merb,通过Merb的灵感,一个API将会很方便的添加插件。“我们在Rails上有成百上千的插件可供选择,所实现的功能从分页到身份验证等都有。”DHH说。另一个基于Merb的Rails 3能力是将不可知论融入到框架测试的过程中,开发者除了可以使用Rails测试单位框架外,还可以利用rSpec框架。

 
与Merb框架的融合成为Rails 3的主要变化

下面是Rails 3 Beta中可以看到的主要变化:

支持Ruby 1.8.7以上版本。Rails 3必须运行在Ruby 1.8.7及以上版本;

ORM上query API变化巨大。Rails 3在ORM的架构方面变化很大,直接导致ActiveRecord取用Object的语法发生变化。

Gemfile变化。在Rails 3中,config.gem变为project下的Gem方法。

除以上几点外,Rails 3还同时废除了很多旧的API,并予以警告提示;增加了抽象控制器层等插件API;Beta版还修复了一些之前版本的小Bug。

Rails 3.0安装指令

 
 
 
 
  1. # 如果系统需要请自行使用sudo指令  
  2. gem install tzinfo builder i18n memcache-client rack \  
  3.   rake rack-test rack-mount erubis mail text-format \  
  4.   thor bundler  
  5. gem install rails --pre  
  6.  

下面简单的介绍一下升级时的注意事项(整理编译自Rails 3.0发布文档:http://guides.rails.info/3_0_release_notes.html)。

◆升级到Rails 3.0之前,最好先升级到Rails 2.3.5,以确保你的应用在稳定版能够正常运行。

◆Rails 3要求Ruby版本在Ruby 1.8.7或以上。也兼容Ruby 1.9.2。

◆为了让同一进程运行多个Rails应用,Rails 3引入了Application这个对象。Application对象使用config/application.rb定义。如果你要升级你的应用到Rails 3,那么务必要添加这个文件,并将相应配置从原来的config/environment.rb移动到config/application.rb当中。

◆新的script/rails替换了原本在script路径下的所有脚本。不过,你无须直接运行script/rails,rails指令会搜索Rails应用的根目录并直接运行脚本。推荐使用方式:

 
 
 
 
  1. rails console                      # => ./script/console  
  2. rails g scaffold post title:string # => ./script/generate scaffold post title:string  
  3.  

◆config.gem方法被取消,依赖性现在由bundler和一个Gemfile来管理。

◆为了更好的升级,我们开发了一个Rails升级插件(http://github.com/rails/rails_upgrade)用于实现升级自动化。只要安装插件并运行rake rails:upgrade:check即可。插件安装指令:

 
 
 
 
  1. rails plugin install git://github.com/rails/rails_upgrade.git  

【延伸阅读】

  1. Ruby on Rails入门之道
  2. DHH漫谈Ruby on Rails的文化
  3. 专题:Ruby百家谈
  4. Web开发谁更高效 Java对决Ruby on Rails
  5. Ruby on Rails创始人DHH:架构是将复杂的问题简单化
THE END