Rails 3 Beta版發布 功能更新變化豐富
原創【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
【延伸閱讀】