【问题标题】:Should I split my Rails app?我应该拆分我的 Rails 应用程序吗?
【发布时间】:2011-07-05 20:12:09
【问题描述】:

我有两个任务都使用 Rails:

  1. 制作库存应用程序以帮助员工跟踪库存
  2. 为公司制作网站,供客户访问并了解我们的产品

我的计划是让公司每个分支机构的库存应用程序都有这样的域:

branch1.example.com
branch2.example.com
branch3.example.com

而面向客户的网站只需 www.example.com

我的问题是,我是否应该制作两个单独的 Rails 应用,一个用于库存应用,一个用于面向客户的网站?或者将两者作为一个组合应用程序管理会更容易吗?这两个应用不太可能共享太多代码。

如果我要拆分我的应用程序,我将如何使用上面所示的单个域(使用子域)和 heroku 来托管我的两个应用程序?

谢谢!

【问题讨论】:

  • 您需要知道的第一件事是您是否将使用一个数据库。
  • @Preacher 面向客户的网站可能有一个非常简单的数据库。目前,我什至不打算让用户使用它。大部分是非交互式的。
  • @Jesse Wolgamott 这不是重复的。请更清楚地阅读问题。
  • 好的,我现在看到了不同之处——删除我的评论。

标签: ruby-on-rails heroku dns


【解决方案1】:

嗯,没有一个真正的正确答案,但作为使用 Rails 的经验,我会推荐一个应用程序。

如果拆分,您将不得不多次复制和粘贴通用代码(变得无法管理)。另外,您将处理一个共享数据库或多个数据库。

不拆分,您可以使用通配符域并通过request.subdomain 访问当前子域,以轻松执行每个子域需要发生的任何逻辑。此外,您只需创建一次 Product 模型。

简而言之,所有提到的要求听起来都紧密耦合,以至于一个应用程序最简单。

【讨论】:

  • 我希望这会是流行的观点。我想我的担忧之一是跟踪网站流量。我不希望员工使用库存应用程序来扭曲面向客户的网站流量统计数据。我是不是想太多了?这可能不是我不知道的问题...感谢您的意见!
  • 当然,您需要添加一些逻辑来避免这种情况。如果您谈论的是谷歌分析(例如),只需有一些逻辑不会将其嵌入到管理页面中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 2016-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-18
  • 1970-01-01
相关资源
最近更新 更多