Добавление методов в рельсы REST - PullRequest
1 голос
/ 03 ноября 2011

Я хочу добавить больше методов в мой отдых.

Вот мой файл route.rb:

 resources :boards, :except => [:new, :create] do
   get 'customize', :on => :member
   get 'change_template', :on => :member
   get 'all_walls', :on => :member
end

Я получаю их в следующем формате:

change_template_board GET    /boards/:id/change_template(.:format)          {:action=>"change_template", :controller=>"boards"}

Но я хочу их в этом формате:

/boards/:board_id/change_template/:id(.:format)  

Как я могу это сделать?

1 Ответ

0 голосов
/ 11 июля 2013

Я копирую первый ответ из этого вопроса . В вашем routes.rb вы можете добавить новый маршрут dooit к ресурсу fifi, добавив его в файл routes.rb:

resources :fifi do
  member do
    get :dooit
  end
end

Это создаст маршрут dooit_fifi вместе со стандартными маршрутами fifi, fifi_index, new_fifi и edit_fifi.

Если вы хотите ограничить созданные маршруты, вы можете сделать что-то вроде этого:

resources :fifi, only: [:show, :create, :destroy] do
  member do
    get :dooit
  end
end

, который будет производить только маршруты dooit_fifi, fifi и fifi_index.

...