一个RoR安装上的多个网站 - 如何将域名指向名称空间?

时间:2013-07-16 20:35:13

标签: ruby-on-rails

我有一个RoR安装,我正在尝试将它用于多个网站。我想使用一个RoR安装,因为所有网站都相似(需要共享相同的模型),需要由一个管理命名空间管理。我的基本文件结构如下:

app
..controllers
....admin_namespace
....website1_namespace
....website2_namespace
..models 
....admin_namespace
....website1_namespace
....website2_namespace
..views
....admin_namespace
....website1_namespace
....website2_namespace

有谁知道如何将域名指向单独的命名空间并从URL中删除命名空间?即。

 www.admin.com -> points to /admin_namespace route
 www.website1.com -> points to /website1_namespace route
 www.website2.com -> points to /website2_namespace route

使用类似PHP的东西,通常你会使用虚拟主机将不同的服务器名称指向不同的文件夹位置,但我遇到的问题是你必须将所有网站指向app_name / app / public。

1 个答案:

答案 0 :(得分:0)

scope module: 'admin', as: :admin, constraints: {domain: /admin.com/} do
  resources :pages
end

scope module: 'website1', as: :website1, constraints: {domain: /website1.com/} do
  resources :pages
end

这就是我最终要做的事情,域名采用正则表达式。感谢。