Rails 3.0 在经过多个测试版后,今天终于迎来的正式版本。

安装方法:gem install rails --version 3.0.0.

Rails 是一个用于开发数据库驱动的网络应用程序的完整框架。Rails基于MVC(模型- 视图- 控制器)设计模式。从视图中的Ajax应用,到控制器中的访问请求和反馈,到封装数据库的模型,Rails 为你提供一个纯Ruby的开发环境。发布网站时,你只需要一个数据库和一个网络服务器即可。

Rails 3.0 主要改进内容:

1. 全新活动记录查询引擎

示例代码:

  1. users = User.where(:name => "david").limit(20)  
  2. users = users.where("age > 29")  
  3.  
  4. # SELECT * FROM users   
  5. # WHERE name = "david" AND age > 29   
  6. # ORDER BY name  
  7. # LIMIT 20  
  8. users.order(:name).each { |user| puts user.name } 

2. 为Action控制器添加了新的路由进程

示例代码:

  1. resources :people do 
  2.   resource :avatar  
  3.  
  4.   collection do 
  5.     get :winners, :losers  
  6.   end 
  7. end 
  8.  
  9. # /sd34fgh/rooms  
  10. scope ':token', :token => /\w{5,5}/ do 
  11.   resources :rooms  
  12. end 
  13.  
  14. # /descriptions  
  15. # /pl/descriptions  
  16. # /en/descriptions  
  17. scope '(:locale)', :locale => /en|pl/ do 
  18.   resources :descriptions  
  19.   root :to => 'projects#index' 
  20. end 

3.全新Action Mailer组件

示例代码:

  1. class Notifier < ActionMailer::Base  
  2.   default :from =>  
  3.     "Highrise <system@#{APPLICATION_DOMAIN}>"   
  4.  
  5.   def new_project(digest, project, person)  
  6.     @digest, @project, @person = digest, project, person  
  7.  
  8.     attachments['digest.pdf'] = digest.to_pdf  
  9.     attachments['logo.jpg']   = File.read(project.logo_path)  
  10.  
  11.     mail(  
  12.       :subject => "Your digest for #{project.name}",  
  13.       :to => person.email_address_with_name  
  14.     ) do |format|  
  15.       format.text { render :text => "Something texty" }  
  16.       format.html { render :text => "Something <i>texty</i>" }  
  17.     end  
  18.   end  
  19. end 

4. 默认启用跨站点工具 XSS 保护

5. 告别字符编码问题困扰

6. 内部重构

7. 文档完善

8.支持MySQL2 gem

9.修正了自动加载的问题