读书人

Rails 三的Routing中:as选项与Rails 2

发布时间: 2012-12-22 12:05:07 作者: rapoo

Rails 3的Routing中:as选项与Rails 2中不同

在Rails 2中,:as选项改变的是实际的path:

?

#路由配置map.resources :posts, :as => :articles

?执行

?

rake routes

?输出如下:

?

    posts GET    /articles(.:format)                {:controller=>"posts", :action=>"index"}          POST   /articles(.:format)                {:controller=>"posts", :action=>"create"} new_post GET    /articles/new(.:format)            {:controller=>"posts", :action=>"new"}edit_post GET    /articles/:id/edit(.:format)       {:controller=>"posts", :action=>"edit"}     post GET    /articles/:id(.:format)            {:controller=>"posts", :action=>"show"}          PUT    /articles/:id(.:format)            {:controller=>"posts", :action=>"update"}          DELETE /articles/:id(.:format)            {:controller=>"posts", :action=>"destroy"}                 /:controller/:action/:id                            /:controller/:action/:id(.:format) 
?

在Rails 3中

?

#路由配置resources :posts, :as => :articles

执行 rake routes 则输出

?

    articles GET    /posts(.:format)          {:action=>"index", :controller=>"posts"}             POST   /posts(.:format)          {:action=>"create", :controller=>"posts"} new_article GET    /posts/new(.:format)      {:action=>"new", :controller=>"posts"}edit_article GET    /posts/:id/edit(.:format) {:action=>"edit", :controller=>"posts"}     article GET    /posts/:id(.:format)      {:action=>"show", :controller=>"posts"}             PUT    /posts/:id(.:format)      {:action=>"update", :controller=>"posts"}             DELETE /posts/:id(.:format)      {:action=>"destroy", :controller=>"posts"}
?

Rails 3中如果想要达到与上边Rails 2相同的效果,则要在routes.rb中这样配置

?

resources :articles, :controller => :posts

?再试一下,发现已经达到想要的效果了

?

读书人网 >网络基础

热点推荐