Rails 5.2: возможно ли удалить первое имя ресурса из этих вложенных маршрутов? - PullRequest
0 голосов
/ 01 июля 2018

у меня есть вложенные ресурсы:

resources :volumes, only: :show do
  resources :chapters, only: :show do
    resources :characters, only: :index, :show
    end
  end
end

Что дает мне следующие маршруты:

volume_chapter_characters GET  /volumes/:volume_id/chapters/:chapter_id/characters(.:format)     characters#index
 volume_chapter_character GET  /volumes/:volume_id/chapters/:chapter_id/characters/:id(.:format) characters#show
           volume_chapter GET  /volumes/:volume_id/chapters/:id(.:format)                        chapters#show
                   volume GET  /volumes/:id(.:format)                                            volumes#show

Я не уверен, что это полностью RESTful, но я хочу знать, есть ли способ отбросить часть volumes/ URL, чтобы у меня было что-то вроде:

volume_chapter_characters GET  /:volume_id/chapters/:chapter_id/characters(.:format)     characters#index
 volume_chapter_character GET  /:volume_id/chapters/:chapter_id/characters/:id(.:format) characters#show
           volume_chapter GET  /:volume_id/chapters/:id(.:format)                        chapters#show
                   volume GET  /:id(.:format)   

Можно ли это сделать?

1 Ответ

0 голосов
/ 01 июля 2018

Вы можете добавить опцию path.

Rails.application.routes.draw do
  resources :volumes, only: :show, path: '' do
    resources :chapters, only: :show do
      resources :characters, only: [:index, :show]
    end
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...