2

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

例如paths = [ "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'

我尝试了许多不同的东西,其中大多数都无法启动服务器,有些工作但只为我提供了第一条路径的好路线。

以前有人做过这样的事情吗?

我也希望能够使用路径,所以当我在时'bar/news'

news_article_path( @artice )会给我bar/news/articles/1(而不是foo/news/articles/1

4

1 回答 1

0

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

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
于 2013-11-18T14:50:58.057 回答