我应该分离我的Rails应用程序吗?

4
我有两个任务都使用rails:
1. 制作一个库存应用程序,以帮助员工跟踪库存。 2. 为公司制作一个网站,供客户访问并了解我们的产品。
我的计划是为公司的每个分支机构创建一个类似于以下这样的域名的库存应用程序:
branch1.example.com branch2.example.com branch3.example.com
而面向客户的网站将简单地使用www.example.com。
我的问题是,我应该制作两个独立的rails应用程序,一个用于库存应用程序,一个用于面向客户的网站?还是将两者作为单个组合应用程序更容易管理?这两个应用程序不太可能共享很多代码。
如果我要拆分我的应用程序,如何能够使用单个域名(使用子域)在heroku上托管我的两个应用程序?
谢谢!

你需要知道的第一件事是你是否会使用一个数据库。 - Preacher
@Preacher 如果有的话,面向客户的网站可能会有一个非常简单的数据库。目前,我甚至没有计划为其创建用户。主要是非交互式的。 - hangsu
@Jesse Wolgamott 这不是一个重复的问题,请更清楚地阅读问题。 - hangsu
好的,我现在明白了——删除我的评论。 - Jesse Wolgamott
1个回答

2

其实并没有一个正确的答案,但是由于我对rails有经验,我会建议只用一个应用程序。

如果你分开使用多个应用程序,就会出现很多需要复制和粘贴公共代码的情况(变得难以管理)。此外,你还将处理共享数据库或多个数据库的问题。

如果不进行分离,你可以使用通配符域名,并通过request.subdomain访问当前子域,以便轻松地根据子域执行所需的逻辑。此外,你只需要创建一次产品模型。

简而言之,所有提到的要求都足够紧密耦合,因此只使用一个应用程序最容易。


我曾经希望那是普遍的意见。我想我的一个担忧是如何跟踪网站流量。我不想员工使用库存应用程序来扭曲面向客户的网站流量统计数据。我是否考虑得太多了?这可能是一个无关紧要的问题,我不知道...感谢您的意见! - hangsu
当然,你需要添加一些逻辑来避免这种情况发生。如果你在谈论 Google Analytics(例如),只需添加一些逻辑,不要将其嵌入到管理员页面中。 - tybro0103

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接