Ruby on rails Rails为一个控制器提供多个名称空间

Ruby on rails Rails为一个控制器提供多个名称空间,ruby-on-rails,ruby,namespaces,routes,Ruby On Rails,Ruby,Namespaces,Routes,我需要能够添加一些路由到一个或多个动态路径 例如路径=[foo/news,bar/news]。两者都需要走相同的路线 应该是这样的: paths.each do |path| namespace path, module: "news" do root :to => "welcome#index" resources :articles end end 但这给了我一个错误: rake aborted! Invalid route name: 'foo/news'

我需要能够添加一些路由到一个或多个动态路径

例如路径=[foo/news,bar/news]。两者都需要走相同的路线

应该是这样的:

paths.each do |path|
  namespace path, module: "news" do
    root :to => "welcome#index"
    resources :articles
  end
end
但这给了我一个错误:

rake aborted!
Invalid route name: 'foo/news'
我尝试了许多不同的方法,大多数都在启动服务器时失败,有些方法还可以,但只能为第一条路径提供良好的路径

以前有人做过这样的事吗

我也希望能够使用路径,所以当我进入“酒吧/新闻”时:


news\u article\u path@artice会给我提供bar/news/articles/1而不是foo/news/articles/1

问题是您正在将“/news”部分添加到循环中。试试这个:

paths = [ "foo", "bar" ]

paths.each do |path|
  namespace path, module: "news" do
    namespace 'news', module: false do
      root :to => "welcome#index"
      resources :articles
    end
  end
end

问题是您正在将“/news”部分添加到循环中。试试这个:

paths = [ "foo", "bar" ]

paths.each do |path|
  namespace path, module: "news" do
    namespace 'news', module: false do
      root :to => "welcome#index"
      resources :articles
    end
  end
end