У меня есть общий файл макета, используемый для всего сайта. Он содержит ссылки, такие как:
<%= link_to("Home", { :controller => :home, :action => :index }) %>
И другие общие ссылки в верхнем / нижнем колонтитуле и т. Д.
Все мои контроллеры просто находятся в каталоге app/controllers/
. Но я добавил пространство имен для администраторов (для запрета пользователей и т. Д.):
namespace :admin do
resources :users
end
Мое пространство имен администратора не отличается от внешнего вида, поэтому оно использует тот же макет, что и остальная часть сайта. Это вызывает некоторые проблемы, поскольку все мои вызовы link_to
и url_for
неправильно интерпретируются как, скажем:
<%= link_to("Home", { :controller => "admin/home", :action => :index }) %>
Что приводит к сбою приложения, поскольку такой маршрут не существует. Нужно ли мне просматривать все мои шаблоны, используемые макетом, и менять часть контроллера link_to
с косой чертой или есть лучший способ сделать все мои маршруты верхнего уровня функциональными даже в пространстве имен администратора ? Я связываю пространство имен администратора с пространством имен верхнего уровня для многих вещей, поэтому было бы хорошо, если бы мне действительно не пришлось уделять особое внимание моим link_to
вызовам.
В итоге, когда под контроллером пространства имен нужно ли ставить перед всеми :controller
параметрами в link_to
начальную косую черту, чтобы вырваться из пространства имен?