2

我希望能够命名我的控制器,而无需命名 url。因此,例如,我希望能够在如下文件夹中有一个控制器:

app/controllers/abc/my_controller

另一个在

app/controllers/def/my_controller

我不希望路由包含 /abc 或 /def,而是使用约束来消除它们之间的歧义。实现这一目标的最 Rails 方法是什么?

一些背景:我正在构建一个多域站点,约束是请求域。

4

2 回答 2

14

您可以将范围与块一起使用。

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"

路线指南中的更多信息。有关范围的信息就在我链接到的部分的表格下方。

于 2012-09-15T04:07:10.707 回答
1

路线.rb:

resources :resource_name, module: 'ControllerNameSpace', constraints: {subdomain: 'foo'}

导轨导向链接

于 2012-09-14T22:59:01.487 回答