Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails应用程序体系结构和公共设置_Ruby On Rails_Ruby_Architecture_Infrastructure - Fatal编程技术网

Ruby on rails Rails应用程序体系结构和公共设置

Ruby on rails Rails应用程序体系结构和公共设置,ruby-on-rails,ruby,architecture,infrastructure,Ruby On Rails,Ruby,Architecture,Infrastructure,因此,我开始着手公司项目,该项目将包括以下几个部分: 起初 工作清单 客户端配置文件创建和管理 用户管理和访问(登录、注册、角色等) 后来 消息传递 时间表 基本报告 以后 更深层次的分析与bi 我想知道每个项目符号都是自己的rails项目、独立的和模块化的(如果确实如此)是否有意义;或者它最好是在同一个应用程序中。我可以设想这样一种情况:每个模块可以彼此独立地运行,不需要其他模块(用户功能除外),并且所有模块都可以一起使用 在我看来,许多任务都可以用一个更轻的框架来处理,比如Sinatra(然

因此,我开始着手公司项目,该项目将包括以下几个部分:

起初

  • 工作清单
  • 客户端配置文件创建和管理
  • 用户管理和访问(登录、注册、角色等)
  • 后来

  • 消息传递
  • 时间表
  • 基本报告
  • 以后

  • 更深层次的分析与bi
  • 我想知道每个项目符号都是自己的rails项目、独立的和模块化的(如果确实如此)是否有意义;或者它最好是在同一个应用程序中。我可以设想这样一种情况:每个模块可以彼此独立地运行,不需要其他模块(用户功能除外),并且所有模块都可以一起使用

    在我看来,许多任务都可以用一个更轻的框架来处理,比如Sinatra(然后物理上位于rails应用程序之下)。在一台服务器上运行多个rails应用程序似乎也会带来很大的开销。但我并不完全了解操作每个场景的所有利弊

    我知道这是一个一般性的问题,肯定会得到很多“视情况而定”的回答(这是理所当然的),我一直在寻找关于如何在rails中设置此类项目的意见/示例。我是一个准傻瓜,所以要温柔


    提前谢谢 也就是说,如果有复杂或扩展的功能不是MVC体系结构的一部分(比如与外部API、数据挖掘等进行对话),那么您可以将其转移到单独的项目中,并将其作为Gem包含在应用程序中。您仍然会有一个包含这些Gems的主Rails应用程序

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

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


    在您的具体示例中,我认为您的需求在一个Rails应用程序中很好。

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

    也就是说,如果有复杂或扩展的功能不是MVC体系结构的一部分(比如与外部API、数据挖掘等进行对话),那么您可以将其转移到单独的项目中,并将其作为Gem包含在应用程序中。您仍然会有一个包含这些Gems的主Rails应用程序

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

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


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

    感谢您的回复。你的网站类比很有帮助。我现在开始深入研究Rails引擎:)。很高兴能提供帮助。如果您觉得答案已经回答了您的问题,请不要忘记将其标记为已接受!:)谢谢你的回复。你的网站类比很有帮助。我现在开始深入研究Rails引擎:)。很高兴能提供帮助。如果您觉得答案已经回答了您的问题,请不要忘记将其标记为已接受!:)