【发布时间】:2011-03-31 05:16:03
【问题描述】:
在routes.rb 中给出类似下面的一行
map.resources :users
生成的路由可能是这样的:
users GET /users(.:format) {:controller=>"users", :action=>"index"}
POST /users(.:format) {:controller=>"users", :action=>"create"}
new_user GET /users/new(.:format) {:controller=>"users", :action=>"new"}
edit_user GET /users/:id/edit(.:format) {:controller=>"users", :action=>"edit"}
user GET /users/:id(.:format) {:controller=>"users", :action=>"show"}
PUT /users/:id(.:format) {:controller=>"users", :action=>"update"}
DELETE /users/:id(.:format) {:controller=>"users", :action=>"destroy"}
有什么办法可以将POST /users映射到{:controller=>"users", :action=>"create"}的默认HTTP方法更改为使用PUT的HTTP方法吗?
rake routes 然后会生成如下内容:
users GET /users(.:format) {:controller=>"users", :action=>"index"}
PUT /users(.:format) {:controller=>"users", :action=>"create"}
new_user GET /users/new(.:format) {:controller=>"users", :action=>"new"}
edit_user GET /users/:id/edit(.:format) {:controller=>"users", :action=>"edit"}
user GET /users/:id(.:format) {:controller=>"users", :action=>"show"}
PUT /users/:id(.:format) {:controller=>"users", :action=>"update"}
DELETE /users/:id(.:format) {:controller=>"users", :action=>"destroy"}
我知道这对于 RESTful 路由是不正确的,我只是想知道是否可以更改这些路由使用的 HTTP 方法。
【问题讨论】:
标签: ruby-on-rails rest resources routing