我希望能够命名我的控制器,而无需命名 url。因此,例如,我希望能够在如下文件夹中有一个控制器:
app/controllers/abc/my_controller
另一个在
app/controllers/def/my_controller
我不希望路由包含 /abc 或 /def,而是使用约束来消除它们之间的歧义。实现这一目标的最 Rails 方法是什么?
一些背景:我正在构建一个多域站点,约束是请求域。
我希望能够命名我的控制器,而无需命名 url。因此,例如,我希望能够在如下文件夹中有一个控制器:
app/controllers/abc/my_controller
另一个在
app/controllers/def/my_controller
我不希望路由包含 /abc 或 /def,而是使用约束来消除它们之间的歧义。实现这一目标的最 Rails 方法是什么?
一些背景:我正在构建一个多域站点,约束是请求域。
您可以将范围与块一起使用。
scope :module => "abc" do
resources :my_controller
end
scope :module => "def" do
resources :my_controller
end
或单独通过
resources :my_controller, :module => "abc"
resources :my_controller, :module => "def"
路线指南中的更多信息。有关范围的信息就在我链接到的部分的表格下方。
路线.rb:
resources :resource_name, module: 'ControllerNameSpace', constraints: {subdomain: 'foo'}