Как избежать двойных подчеркиваний в Rails 5 маршрутов с вложенными именами ресурсов - PullRequest
0 голосов
/ 20 марта 2019

У нас есть несколько вложенных маршрутов ресурсов / пространств имен, которые работали до обновления до Rails 5 как есть, но теперь с Rails 5 маршруты жалуются на отсутствие явного as: на маршруте для имени помощника маршрута / пути.

Вот пример нашего вложения маршрута:

resources :categories, path: "schools", only: [:index, :show, :create] do
  namespace :categories, path: "", as: nil do
    resource :increment, only: [:new]
    namespace :admin, path: "admin" do
      resource :dashboard, only: [:show]
    end
  end
end

Перед обновлением rails 5 это приведет к появлению помощников маршрута, таких как:

category_admin_dashboard_path GET /schools /: category_id / admin / панель мониторинга (.: format) category / admin / панели мониторинга # show

После обновления Rails 5 теперь создаются помощники маршрута, такие как:

category__category_admin_dashboard_path GET /schools/:category_id/admin/dashboard(.:format) category / admin / dashboards # show

Мы попытались разложить маршруты без удачи ... Я уверен, что мыделать что-то неправильно или нетрадиционно.

Может кто-нибудь дать совет, как исправить это плохое вложение маршрутов Rails?

1 Ответ

0 голосов
/ 20 марта 2019

Заменить namespace :categories на scope module: :categories

resources :categories, path: "schools", only: [:index, :show, :create] do
  scope module: :categories do
    resource :increment, only: [:new]
    namespace :admin, path: "admin" do
      resource :dashboard, only: [:show]
    end
  end
end
...