Rails路由:嵌套的范围/命名空间

tyb*_*103 1 routing scope namespaces ruby-on-rails ruby-on-rails-3

现在我有一个admin.domain.com子域,其中有一个模块范围:

  constraints(AdminDomain) do
    scope :module => "admin" do
      resources :visitors
    end
  end
Run Code Online (Sandbox Code Playgroud)

这使得管理子域中的所有请求都在app/controllers/admin /中命中控制器.

我现在要做的是:

  constraints(AdminDomain) do
    scope :module => "admin" do
      resources :visitors
      scope "history", :as => "history" do
        resources :visitors
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

最终目标是使admin.domain.com/history/visitors命中控制器:app/controllers/admin/history/visitors_controller.rb.

但是,此路径仍然会查找app/controllers/admin/visitors_controller.rb.

有任何想法吗?

tyb*_*103 6

namespace 是我在寻找:

  constraints(AdminDomain) do
    scope :module => "admin" do
      resources :visitors
      namespace :history do
        resources :visitors
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

我必须定义Admin::History::VisitorsControllerapp/controllers/admin/history/visitors_controller.rb