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
?再试一下,发现已经达到想要的效果了
?