Часто у вас есть требования, которые не соответствуют идеально предопределенным глаголам REST, но это нормально, если вы соблюдаете дух REST.
Например, действие, которое регулирует положение существующего элемента, представляет собой запрос PUT с пользовательским глаголом. Вы можете определить один глагол position
или несколько глаголов, например up
и down
, в зависимости от того, как вы предпочитаете это делать. В этом случае position
может быть любым из top
, bottom
, up
или down
, если вы хотите реализовать их.
Добавление пользовательского маршрута довольно просто:
resources :items, :member => { :position => :put }
Это создаст новый глагол position
и направит его к ItemsController#position
соответственно.