Учитывая строку примерно как ниже в 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"}
Есть ли способ изменить метод HTTP по умолчанию для POST /users
, сопоставляя {:controller=>"users", :action=>"create"}
, чтобы метод HTTP использовался вместо PUT
?
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, используемые этими маршрутами.