我想用Rails创建一个多域应用程序,并且一直在想最好的方法。
该应用程序将具有一组功能,这些功能将在所有域中具有相同的功能,因此域中的更改仅表示使用的数据库更改和样式(以及内容显然),但模型和控制器将是同样的。
该应用程序将使用MongoDB作为主存储(Redis用于工作人员和其他与模型存储无直接关系的东西)
我的想法是:一旦用户注册,将创建一个新记录,但也将使用用户ID创建一个数据库。用户模型将存储数据库ID(最近创建的)以及用户刚刚添加的域。将创建一个vhost文件并重新加载服务器。
用户访问应用后(使用新域名)。应用程序将检查URL并根据URL找到要使用的正确数据库。这将保存到变量中,以便在整个应用程序中使用。
我想每次请求都会进行此检查。
我很感激对这种方法的想法和评论以及实现这一目标的最佳方法。