0

因此,我开始着手公司项目,该项目将包含几个组成部分:

首先...

  1. 工作清单
  2. 客户档案创建和管理
  3. 用户管理和访问(登录、注册、角色等)

之后...

  1. 消息传递
  2. 日程
  3. 基本报告

以后……

  1. 更深入的分析和双

我想知道将每个子弹项目作为自己的 Rails 项目、自包含和模块化是否有意义(如果确实如此);或者最好放在同一个应用程序中。我可以设想这样一种情况,即每个模块都可以彼此独立地运行,以至于它不需要其余的(除了用户功能),另一种情况是所有模块都可以一起使用。

在我看来,许多任务都可以用像 Sinatra 这样的轻量级框架来处理(然后物理地位于 rails 应用程序下)。在服务器上运行多个 Rails 应用程序似乎也有很多开销。但我并不完全了解操作每个场景的所有优点和缺点。

我知道这是一个一般性的问题,肯定会得到很多“它取决于”类型的响应(这是正确的)我是一个准菜鸟,所以要温柔。

提前致谢!

4

1 回答 1

4

一般来说,我会认为网站是 Rails 应用程序的合适目标。应用程序的每个部分都可以在应用程序中拥有自己的命名空间,因此应用程序内部有一些结构,但它们都应该是一个应用程序。考虑诸如会话之类的事情,您希望用户在其中登录并使用您想要的站点的任何功能。您希望在一个应用程序中进行这些会话,而无需用户登录到不同的部分。

话虽如此,如果存在不属于 MVC 架构的复杂或扩展功能(例如与外部 API 通信、数据挖掘等),那么您可以将其偏移到一个单独的项目中,并将其作为 Gem 包含在你的申请。您仍然会有一个包含这些 Gem 的主要 Rails 应用程序。

您可能还希望将项目的一部分捆绑到一个可重用的 Rails 引擎中,该引擎可以加载到多个项目中。例如,Devise处理用户登录和管理。它是一个 Rails 引擎,捆绑为 Gem,您可以将其包含在项目中。

Meducation(我的网站之一)的另一个例子。我正在将我们的电子邮件跟踪系统提取到它自己的 Rails 引擎中,因为我觉得它的功能与 Meducation 并列,而不是它的核心部分。然后我也可以在其他项目中使用它。

在您的具体示例中,我认为您的要求非常适合一个 Rails 应用程序。

于 2012-06-15T22:49:08.117 回答