Ruby on rails Rails 3.1基于子域从不同路径加载控制器

Ruby on rails Rails 3.1基于子域从不同路径加载控制器,ruby-on-rails,subdomain,ruby-on-rails-3.1,Ruby On Rails,Subdomain,Ruby On Rails 3.1,是否可以动态更改使用控制器的路径?Ryan Bates在此演示了如何更改视图路径: 我正在做一个CMS,用户可以创建一个网站,并进入自己的子域。如果没有子域,我希望“/”指向“public#welcome”,但如果有子域,我希望它指向“sites/public#welcome” 如果有什么不同的话,我使用的是Rails 3.1。如果我没有弄错的话,您应该能够使用约束来解决这种情况(我可能会这样做,因为我实际上还没有尝试以下内容): 我想出来了: constraints(:subdomain

是否可以动态更改使用控制器的路径?Ryan Bates在此演示了如何更改视图路径:

我正在做一个CMS,用户可以创建一个网站,并进入自己的子域。如果没有子域,我希望“/”指向“public#welcome”,但如果有子域,我希望它指向“sites/public#welcome”


如果有什么不同的话,我使用的是Rails 3.1。

如果我没有弄错的话,您应该能够使用约束来解决这种情况(我可能会这样做,因为我实际上还没有尝试以下内容):

我想出来了:

  constraints(:subdomain => /.+/) do
    scope :module => "sites" do
      root :to => 'public#welcome'
    end
  end

  root :to => 'public#welcome'

现在,当用户访问“/”站点时,如果存在子域,则将使用PublicController;如果没有子域存在,则仅使用PublicController。添加
scope:module=>“sites”do…end
使我的路由文件变得简单且易于管理。

如何添加资源。。。比如说发布资源?在/哨所和/现场/哨所都有crud操作,并且他们将使用不同的控制器?
  constraints(:subdomain => /.+/) do
    scope :module => "sites" do
      root :to => 'public#welcome'
    end
  end

  root :to => 'public#welcome'