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.修正了自动加载的问题