我有一个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。
答案 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
这就是我最终要做的事情,域名采用正则表达式。感谢。