- 浏览: 2678053 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
80后的童年2:
深入浅出MongoDB应用实战开发网盘地址:https://p ...
MongoDB入门教程 -
shliujing:
楼主在不是精通java和php的前提下,请不要妄下结论。
PHP、CakePHP哪凉快哪呆着去 -
安静听歌:
希望可以一给一点点注释
MySQL存储过程之代码块、条件控制、迭代 -
qq287767957:
PHP是全宇宙最强的语言!
PHP、CakePHP哪凉快哪呆着去 -
rryymmoK:
深入浅出MongoDB应用实战开发百度网盘下载:链接:http ...
MongoDB入门教程
原文: http://weblog.rubyonrails.org/2007/9/30/rails-2-0-0-preview-release
Action Pack: Resources
1,RESTful风格改进:
/people/1;edit将变成/people/1/edit
2,添加routing名字空间
这将生成类似inventory_admin_projects_url和admin_products_tags_url的命名routes
3,添加"rake routes"任务,将列出通过routes.rb生成的所有命名routes
4,一个新的convention:所有基于resource的controller都默认为复数形式,这样对不同context下的map都会对应到同一controller:
Action Pack: Multiview
#respond_to得到进一步深入,对multiview使用形如action.format.renderer的模板名,如:
我们可以声明伪类型来为内部routing使用:
我们可以在config/initializers/mime_types.rb文件里声明mime-type
Action Pack: Record identification
资源routes的使用简化
Action Pack: HTTP Loving
1,HTTP Basic Authentication的简化使用:
2,JavaScript&stylesheet文件缓存
production模式下javascript_include_tag(:all, :cache => true)将把public/javascripts/*.js弄到public/javascripts/all.js里
3,设置ActionController::Base.asset_hot = "assets%d.example.com",则image_tag等asset calls会被自动分发到asset1~asset4
Action Pack: Security
1,预防CRSF攻击:
ActionController::Base.protect_from_forgery
2,预防XSS攻击:
TextHelper#sanitize
3,HTTP only cookies支持
Action Pack: Exception handling
1,rescue_action_in_public
2,rescue_from
Action Pack: Miscellaneous
1,AtomFeedHelper
2,asset tag调用的性能提升和简单命名routes的缓存
3,将in_place_editor和autocomplete_for变成插件
Active Record: Performance
Query Cache,N+1查询的性能提升
Active Record: Sexy migrations
Active Record: XML in JSON out
Person.new.from_xml("David")
person.to_json
Active Record: Shedding some weight
1,将acts_as_XYZ移到plugins
2,所有商业数据库adapters移到各自的gems里,Rails仅仅自带MySQL,SQLite和PostgreSQL的adapters
商业数据库adapters的gems命名规范为activerecord-XYZ-adapter,所以可以使用gem install activerecord-oracle-adapter来安装
Active Record: with_scope with a dash of syntactic vinegar
ActiveRecord::Base.with_scope成为protected以防止在controller里误用,因为它是设计来在Model里使用的
Action WebService out, ActiveResource in
在SOAP vs REST的战争里,Rails选择了REST,所以Action WebService被移出为一个gem,而引入的是著名的ActiveResource
ActiveSupport
添加Array#rand方法来从Array里随机得到一个元素
添加Hash#except方法来过滤不想要的keys
Date的一些扩展
Acion Mailer
一些bug fixes以及添加assert_emails测试方法
Rails: The debugger is back
gem install ruby-debug,然后在程序里某处使用"debugger",使用--debugger或-u来启动server即可
Rails: Clean up your environment
以前各种程序的配置细节都扔在config/environment.rb里,现在我们可以在config/initializers里建立不同的文件来配置不同的选项
Rails: Easier plugin order
以前plugins有依赖顺序时我们需要在config.plugins里列出来所有的plugins,现在可以这样config.plugins=[:acts_as_list, :all]
And hundreds uupon hundreds of other improvements
hundreds of bug fixes
So how do I upgrade?
首先升级到Rails 1.2.3,如果没有deprecation warnings,则可以升级到Rails 2.0
即将发布的Rails 1.2.4还会添加一些deprecation warnings
Thanks to everyone who’ve been involved with the development of Rails 2.0. We’ve been working on this for more than
six months and it’s great finally to be able to share it with a larger audience. Enjoy!
恩 还是看中文的舒服
Action Pack: Resources
1,RESTful风格改进:
/people/1;edit将变成/people/1/edit
2,添加routing名字空间
map.namespace(:admin) do |admin| admin.resources :projects, :collection => { :inventory => :get }, :member => { :duplicate => :post }, :has_many => { :tags, :images, :variants } end
这将生成类似inventory_admin_projects_url和admin_products_tags_url的命名routes
3,添加"rake routes"任务,将列出通过routes.rb生成的所有命名routes
4,一个新的convention:所有基于resource的controller都默认为复数形式,这样对不同context下的map都会对应到同一controller:
# /avatars/45 => AvatarsController#show map.resources :avatars # /people/5/avatar => AvatarsController#show map.resources :people, :has_one => :avatar
Action Pack: Multiview
#respond_to得到进一步深入,对multiview使用形如action.format.renderer的模板名,如:
show.erb: 对所有formats使用同一模板 show.html.erb: html格式所使用的模板 index.atom.builder: 使用Builder渲染atom格式 edit.iphone.haml: 使用自定义HAML模板引擎对Mime::IPHONE格式渲染edit action
我们可以声明伪类型来为内部routing使用:
# should go in config/initializers/mime_types.rb Mime.register_alias "text/html", :iphone class ApplicationController < ActionController::Base before_filter :adjust_format_for_iphone private def adjust_format_for_iphone if request.env["HTTP_USR_AGENT"] && request.env["HTTP_USER_AGENT"][(iPhone|iPod)/] request.format = :iphone end end class PostsController < ApplicationController def index respond_to do |format| format.html # renders index.html.erb format.iphone # renders index.iphone.erb end end end
我们可以在config/initializers/mime_types.rb文件里声明mime-type
Action Pack: Record identification
资源routes的使用简化
# person is a Person object, which by convention will # be mapped to person_url for lookup redirect_to(person) link_to(person.name, person) form_for(person)
Action Pack: HTTP Loving
1,HTTP Basic Authentication的简化使用:
class PostsController < ApplicationController USER_NAME, PASSWORD = "dhh", "secret" before_filter :authenticate, :except => [ :index ] def index render :text => "Everyone can see me!" end def edit render :text => "I'm only accessible if you know the password" end private def authenticate authenticate_or_request_with_http_basic do |user_name, password| user_name == USER_NAME && password == PASSWORD end end end
2,JavaScript&stylesheet文件缓存
production模式下javascript_include_tag(:all, :cache => true)将把public/javascripts/*.js弄到public/javascripts/all.js里
3,设置ActionController::Base.asset_hot = "assets%d.example.com",则image_tag等asset calls会被自动分发到asset1~asset4
Action Pack: Security
1,预防CRSF攻击:
ActionController::Base.protect_from_forgery
2,预防XSS攻击:
TextHelper#sanitize
3,HTTP only cookies支持
Action Pack: Exception handling
1,rescue_action_in_public
class ApplicationController < ActionController::Base def rescue_action_in_public(exception) logger.error("rescue_action_in_public executed") case exception when ActiveRecord::RecordNotFound logger.error("404 displayed") render(:file => "#{RAILS_ROOT}/public/404.html", :status => "404 Not Found") # ... end end
2,rescue_from
class PostsController < ApplicationController rescue_from User::NotAuthorized, :with => :deny_access protected def deny_access # ... end end
Action Pack: Miscellaneous
1,AtomFeedHelper
# index.atom.builder: atom_feed do |feed| feed.title("My great blog!") feed.updated(@posts.first.created_at) for post in @posts feed.entry(post) do |entry| entry.title(post.title) entry.content(post.body, :type => 'html') entry.author do |author| author.name("DHH") end end end end
2,asset tag调用的性能提升和简单命名routes的缓存
3,将in_place_editor和autocomplete_for变成插件
Active Record: Performance
Query Cache,N+1查询的性能提升
Active Record: Sexy migrations
# old create_table :people do |t| t.column, "account_id", :integer t.column, "first_name", :string, :null => false t.column, "last_name", :string, :null => false t.column, "description", :text t.column, "created_at", :datetime t.column, "updated_at", :datetime end # new create_table :people do |t| t.integer :account_id t.string :first_name, :last_name, :null => false t.text :description t.timestamps end
Active Record: XML in JSON out
Person.new.from_xml("David")
person.to_json
Active Record: Shedding some weight
1,将acts_as_XYZ移到plugins
2,所有商业数据库adapters移到各自的gems里,Rails仅仅自带MySQL,SQLite和PostgreSQL的adapters
商业数据库adapters的gems命名规范为activerecord-XYZ-adapter,所以可以使用gem install activerecord-oracle-adapter来安装
Active Record: with_scope with a dash of syntactic vinegar
ActiveRecord::Base.with_scope成为protected以防止在controller里误用,因为它是设计来在Model里使用的
Action WebService out, ActiveResource in
在SOAP vs REST的战争里,Rails选择了REST,所以Action WebService被移出为一个gem,而引入的是著名的ActiveResource
ActiveSupport
添加Array#rand方法来从Array里随机得到一个元素
添加Hash#except方法来过滤不想要的keys
Date的一些扩展
Acion Mailer
一些bug fixes以及添加assert_emails测试方法
Rails: The debugger is back
gem install ruby-debug,然后在程序里某处使用"debugger",使用--debugger或-u来启动server即可
Rails: Clean up your environment
以前各种程序的配置细节都扔在config/environment.rb里,现在我们可以在config/initializers里建立不同的文件来配置不同的选项
Rails: Easier plugin order
以前plugins有依赖顺序时我们需要在config.plugins里列出来所有的plugins,现在可以这样config.plugins=[:acts_as_list, :all]
And hundreds uupon hundreds of other improvements
hundreds of bug fixes
So how do I upgrade?
首先升级到Rails 1.2.3,如果没有deprecation warnings,则可以升级到Rails 2.0
即将发布的Rails 1.2.4还会添加一些deprecation warnings
Thanks to everyone who’ve been involved with the development of Rails 2.0. We’ve been working on this for more than
six months and it’s great finally to be able to share it with a larger audience. Enjoy!
评论
4 楼
xnine
2007-12-10
blackanger 写道
?这篇文章怎么发了两遍
应该是激动的恩 还是看中文的舒服
3 楼
glchengang
2007-10-10
期待...
2 楼
blackanger
2007-10-05
?这篇文章怎么发了两遍
1 楼
mysttt
2007-10-04
谢谢,一些地方的简化是一直期待的。
还有route.rb 有了rake应该更容易看懂了- -
还有route.rb 有了rake应该更容易看懂了- -
发表评论
-
用了TextMate才知道什么叫神级Editor
2011-03-09 04:51 57959一直用Eclipse作为开发Ruby和Java项目的IDE,但 ... -
Ruby使用OAuth登录新浪微博和豆瓣
2011-01-09 12:49 4433首先需要安装oauth这个gem包 gem install ... -
使用Passenger+nginx部署Rails
2010-12-28 15:12 50101. Install Passender gem instal ... -
markItUp+rdiscount搭建Rails下可视化Markdown编辑器
2010-12-21 17:48 5447markItUp是基于jQuery的可视化编辑器,支持Html ... -
Rails3 and MongoDB Quick Guide
2010-12-10 14:13 2753Install MongoDB Download: http: ... -
基于ruby-protobuf的rpc示例
2009-08-11 11:51 41481, 安装ruby-protobuf gem instal ... -
Ruby导出xls和csv的utf-8问题的解决
2009-02-04 15:05 6839数据库数据为utf-8格式,包括中文和拉丁文等等 导出文件xl ... -
URL/HTML/JavaScript的encode/escape
2009-01-04 13:03 9323最近经常被URL、HTML、JavaScript的encode ... -
各种排序的Ruby实现
2008-11-27 14:51 3994Θ(n^2) 1, Bubble sort def bu ... -
12月5日北京RoR活动!
2008-11-26 18:38 3017又是一年过去了,Rails在国内的发展势态良好,很多使用RoR ... -
Rails程序开发的最大问题是代码规范
2008-08-28 11:56 5515使用Rails开发大型复杂B2B应用一年了,这个项目目前开发人 ... -
Web开发大全:ROR版——推荐序
2008-07-09 00:39 2415来自http://www.beyondrails.com/bl ... -
深入ActionMailer,使用Sendmail发邮件
2008-07-03 11:41 3396来自: http://www.beyondrails.com/ ... -
Rails里如何结合ExceptionNotification配置gmail账户发邮件
2008-06-19 19:56 30801,安装ExceptionNotification rub ... -
使用coderay和railscasts样式进行代码高亮
2008-06-17 00:16 2395CodeRay是一个语法高亮的Ruby库,效率很不错。 Cod ... -
Capistrano试用
2008-06-16 19:05 19571,客户端机器安装Capistrano gem insta ... -
lighttpd真垃圾啊
2008-06-04 18:38 2530使用lighttpd+fcgi跑Rails程序,文件上传会si ... -
将gem变成plugin
2008-06-04 11:27 1799有什么样的需求就有什么样的对策 当vhost上的帐号没有ge ... -
在Rails里使用ReCaptcha添加验证码
2008-06-03 15:51 42661,去http://recaptcha.net/sign up ... -
Rails里给文件上传添加progress_bar
2008-05-27 17:00 2087文件上传很慢时,UI没有什么用户提示,这样让人很费解,所以我们 ...
相关推荐
【Ruby on Rails 2.0的新特性介绍】 Ruby on Rails 2.0 是这个流行的Web开发框架的一个重大更新,发布于2007年底。Rails以其快速的版本迭代和创新的功能而闻名,从1.0到2.0的升级也不例外。这次更新带来了许多新...
### Rails 2.0 的配置方法 #### 一、引言 Rails 2.0作为Ruby on Rails(简称ROR)框架的一个重要版本,在Web开发领域具有不可忽视的地位。本篇将详细介绍Rails 2.0的配置过程及注意事项,帮助初学者快速上手并深入...
Rails 2.0 API 文档是一个非常宝贵的资源,它为开发者提供了全面的指南,以便于在使用Ruby on Rails 2.0版本时更好地理解和利用其框架功能。Ruby on Rails(简称Rails)是一个开源的Web应用框架,它遵循MVC(模型-...
这个“ruby on rails2.0本地安装包”适用于Windows和Linux操作系统,特别是针对网络速度较慢的用户设计,方便他们离线安装Rails 2.0.2版本。 在Rails 2.0版本中,有几个关键性的改进和特性: 1. **ActiveRecord**...
### Rails 2.0 关键知识点详析 #### 一、引言 Rails 2.0作为Ruby on Rails框架的一个重要版本,在其发布时引入了一系列改进与更新,旨在提升开发效率与应用程序性能。该版本虽然没有引入革命性的新特性,但通过对已...
在Ruby on Rails 2.0框架下,我们经常会遇到创建和操作数据库的需求。在这个实例中,我们将探讨如何在Rails应用中使用SQLite数据库,一个轻量级且易于上手的数据库管理系统,尤其适合开发阶段。标题提到的“mybook”...
《jRuby on Rails WEB2.0》:将Ruby on Rails融入Java平台的实践指南 《jRuby on Rails WEB2.0》是一部由Ola Bini撰写的书籍,深入探讨了如何将Ruby on Rails这一敏捷开源框架与Java平台相结合,以构建高效、灵活的...
Rails 2.0版本在当时是一个重要的里程碑,引入了许多新特性并优化了已有的功能。 在Rails API文档中,你可以找到关于以下关键知识点的详尽解释: 1. **路由(Routing)** Rails的路由系统将HTTP请求映射到控制器的...
《JRuby on Rails Web 2.0 实用项目》 英文PDF + 源码
在Ruby on Rails框架中,`Rails 2.0.2`是一个较早的版本,而分页功能在那个时期并不像现在的Rails应用那样内置在框架内。为了实现分页,开发者通常需要安装并使用第三方插件,比如"will_paginate"。这个插件允许你在...
### JRuby on Rails Web 2.0 Projects:将Ruby on Rails引入Java平台 #### JRuby简介 JRuby是一种Ruby语言的实现,它运行在Java平台上,利用了Java虚拟机(JVM)的强大功能。JRuby使得开发人员能够在Java环境中使用...
rails_email_preview, 在 Rails 中,预览和编辑应用程序邮件程序模板 Rails 电子邮件预览 使用这里 Rails 引擎在浏览器中预览电子邮件。 兼容 Rails 4.2 。电子邮件审阅: 所有电子邮件预览的列表: 代表有两个主题...
《Advanced Rails Reciples》作为Rails领域的经典续作,由Brad Ediger撰写,并在2008年出版,涵盖了Rails 2.0版本的新特性及高级用法。本书不仅适合已经有一定Rails基础的开发者进阶学习,也适合希望深入了解Rails...