Как добавить новый пользовательский ресурс в маршруты Rails 3 - PullRequest
1 голос
/ 27 мая 2010

Как добавить пользовательский маршрут для нового ресурса в маршрутах Rails 3?

Я знаю, как это сделать для коллекций и членов, но этот стиль, похоже, не работает для новых ресурсов. Это ошибка или я что-то не так делаю?

Итак, эти работы:

collection do
  get :wish
end

member do
  get :wish
end

Но это не работает:

new do
  get :wish
end

Ответы [ 2 ]

4 голосов
/ 01 апреля 2011

Попробуйте это:

resources :<resource name> do
  member do
    get '<custom action>'
  end
end

В качестве примера давайте увидим, что у вас есть контроллер с именем 'main' и если у вас есть настраиваемое действие 'dashbord'

resources :admin do
  member do
    get 'dashbord'
  end
end
1 голос
/ 01 апреля 2011

Другими словами, вы хотите сопоставить что-то вроде:

example.com/foos/new/custom вместо example.com/foos/1/custom/ или example.com/foos/custom

Это не RESTful, это просто означает, что для него не существует автоматического маршрута. Вы должны быть в состоянии сделать это с помощью нересурсной маршрутизации, то есть что-то вроде этого должно работать:

match 'resource/new/custom'=>'resource#custom'

... где 'custom' - это имя действия в вашем контроллере.

См. направляющую рельса для получения дополнительных опций и деталей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...