Изменить пространство имен в Rails - PullRequest
0 голосов
/ 24 октября 2018

У меня есть маршрутизация в пространстве имен, например

/ example / list /

namespace :example do
  resource :list
  ...
end

Необходимо изменить его на

/ newexample/ list /

Конечно, я могу это сделать, изменив example => newexample в rout.rb, но модуль example широко используется в проекте.поэтому для его изменения этим методом потребуется обновить почти каждый файл Controller, Js, CSS.

Есть ли способ сопоставить пространство имен newexample => example в rout.rb?или любое другое решение?

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете указать путь при использовании пространства имен с параметром path.В вашем примере у вас будет что-то вроде этого:

namespace :example, path: 'newexample' do
  resources :list
end

Вместо этого вы также можете указать модуль, например:

namespace :newexample, module: :example do
  resources :list
end

Созданные маршруты будут одинаковыми (/newexample/list будетсопоставление с модулем example.

Разница будет в именах помощников маршрута: в первом примере ваш помощник будет example_lists_path, во втором он будет выглядеть как newexample_lists_path (это означает, что вам придется обновлять свои ссылки в своих представлениях)

Вы также можете проверить документы по маршрутам , если вам нужна более подробная информация

...