Подтвердить что ты не робот

Получить полное имя контроллера рельсов, включая пространство имен

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

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

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

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

4b9b3361

Ответ 2

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

routes.rb

resources :users do
  resources: articles
end

в вашем представлении

= link_to 'Articles', user_article_path(current_user)

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