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

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

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

Rails 3.0 主要改进内容:

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

示例代码:

1. 

2. users = User.where(:name => "david").limit(20)
3.
users = users.where("age > 29")

4.
5. # SELECT * FROM users
6.
# WHERE name = "david" AND age > 29

7. # ORDER BY name
8. # LIMIT 20
9. users.order(:name).each { |user| puts user.name }
10.

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

示例代码:

1. 

2. resources :people do
3. resource :avatar
4.
5.
collection do

6. get :winners, :losers
7.
end

8.
end

9.
10. # /sd34fgh/rooms
11.
scope ':token', :token => /\w{5,5}/ do

12. resources :rooms
13.
end

14.
15. # /descriptions
16. # /pl/descriptions
17. # /en/descriptions
18.
scope '(:locale)', :locale => /en|pl/ do

19. resources :descriptions
20.
root :to => 'projects#index'

21.
end

22.

3.全新Action Mailer组件

示例代码:

1. 

2. class Notifier < ActionMailer::Base
3.
default :from =>

4.
"Highrise <system@#{APPLICATION_DOMAIN}>"

5.
6. def new_project(digest, project, person)
7.
@digest, @project, @person = digest, project, person

8.
9.
attachments['digest.pdf'] = digest.to_pdf

10.
attachments['logo.jpg'] = File.read(project.logo_path)

11.
12. mail(
13.
:subject => "Your digest for #{project.name}",

14. :to => person.email_address_with_name
15.
) do |format|

16.
format.text { render :text => "Something texty" }

17.
format.html { render :text => "Something <i>texty</i>" }

18. end
19. end
20. end
21.

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

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

6. 内部重构

7. 文档完善

8.支持MySQL2 gem

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