Rails的路线:嵌套的作用域/命名空间
问题描述:
现在我有一个admin.domain.com子网域,有一个模块范围:Rails的路线:嵌套的作用域/命名空间
constraints(AdminDomain) do
scope :module => "admin" do
resources :visitors
end
end
这使得应用程序/控制器的管理子域控制器命中所有请求/管理/。
我想什么,现在做的是一样的东西:
constraints(AdminDomain) do
scope :module => "admin" do
resources :visitors
scope "history", :as => "history" do
resources :visitors
end
end
end
其中最终目标是使admin.domain.com/history/visitors打控制器:应用程序/控制器/管理/历史/ visitors_controller.rb。
但是此路径仍然会查找app/controllers/admin/visitors_controller.rb。
任何想法?
答
namespace
就是我一直在寻找:
constraints(AdminDomain) do
scope :module => "admin" do
resources :visitors
namespace :history do
resources :visitors
end
end
end
而我却在app/controllers/admin/history/visitors_controller.rb
Admin::History::VisitorsController
答
简单的方法来定义特定的控制器就像:
:controller => admin/history/visitors