Получить полное имя контроллера rails, включая пространство имен - PullRequest
34 голосов
/ 11 марта 2011

У меня много контроллеров в разных пространствах имен. Метод controller_name возвращает только имя контроллера, например, «статьи». Есть ли шанс получить полное имя, например «service / Articles» (контроллер статей находится в пространстве имен службы)?

Я хочу создать ссылку на действие индекса каждого контроллера через глобально используемый частичный:

<%= link_to controller.display_name, { :controller => controller.controller_name, :action => "index"} %>

Если этот фрагмент отображается в виде в пространстве имен 'users', я получаю сообщение об ошибке: у пользователей / статей нет маршрута (это должен быть сервис / статьи).

Ответы [ 2 ]

78 голосов
/ 11 марта 2011
3 голосов
/ 11 марта 2011

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

rout.rb

resources :users do
  resources: articles
end

по вашему мнению

= link_to 'Articles', user_article_path(current_user)

User_article позаботится о ваших пространствах имен для вас.

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