【问题标题】:Rails multiple namespaces for one controllerRails 为一个控制器提供多个命名空间
【发布时间】:2012-08-20 02:45:17
【问题描述】:

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

例如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

【问题讨论】:

    标签: ruby-on-rails ruby namespaces routes


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2014-05-19
      • 2021-09-22
      • 2023-03-11
      • 1970-01-01
      • 2012-07-08
      • 1970-01-01
      • 1970-01-01
      • 2014-11-01
      • 2012-03-07
      相关资源
      最近更新 更多