【51CTO快报】流行Web开发框架Ruby on Rails最近发布了最新的Rails 3 Beta版本,之前Rails创始人DHH曾对Rails 3 Beta版的发布日期做过预告:“假如我们在1月底还未完成发布的话,那功能完整的Rails 3 Beta版将不迟于2月份完成。”
51CTO.com在之前的报道《Rails 3 Beta版本月将出 Merb融合带来更多选择》中曾提到,在Rails 3中将融合另一个基于Ruby的框架Merb,通过Merb的灵感,一个API将会很方便的添加插件。“我们在Rails上有成百上千的插件可供选择,所实现的功能从分页到身份验证等都有。”DHH说。另一个基于Merb的Rails 3能力是将不可知论融入到框架测试的过程中,开发者除了可以使用Rails测试单位框架外,还可以利用rSpec框架。
下面是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安装指令
- # 如果系统需要请自行使用sudo指令
- gem install tzinfo builder i18n memcache-client rack \
- rake rack-test rack-mount erubis mail text-format \
- thor bundler
- gem install rails --pre
下面简单的介绍一下升级时的注意事项(整理编译自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应用的根目录并直接运行脚本。推荐使用方式:
- rails console # => ./script/console
- rails g scaffold post title:string # => ./script/generate scaffold post title:string
◆config.gem方法被取消,依赖性现在由bundler和一个Gemfile来管理。
◆为了更好的升级,我们开发了一个Rails升级插件(http://github.com/rails/rails_upgrade)用于实现升级自动化。只要安装插件并运行rake rails:upgrade:check即可。插件安装指令:
- rails plugin install git://github.com/rails/rails_upgrade.git
【延伸阅读】