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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值