获取完整的rails控制器名称,包括命名空间

时间:2011-03-11 13:30:39

标签: ruby-on-rails ruby-on-rails-3

我在不同的命名空间中有很多控制器。 controller_name方法仅返回控制器的名称,例如, “文章”。 有没有机会获得像'service / articles'这样的全名(文章控制器在服务命名空间中)?

我想通过全局使用的部分创建指向每个控制器的索引操作的链接:

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

如果在'users'命名空间的视图中呈现此partial,我会收到错误:users / articles没有路由(它应该是service / articles)。

2 个答案:

答案 0 :(得分:77)

答案 1 :(得分:3)

您可以使用嵌套资源

,而不是链接到:controller,:action语法

<强>的routes.rb

resources :users do
  resources: articles
end
您视图中的

= link_to 'Articles', user_article_path(current_user)

user_article将为您处理您的命名空间。