Метод переопределения для маршрутов RESTFUL по умолчанию в Rails

Учитывая строку, подобную приведенной ниже, в rout.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 route будет генерировать что-то вроде этого:

      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, используемые этими маршрутами.

5
задан John Duff 17 August 2010 в 20:33
поделиться