Ruby on Rails - 具有相同模型和数据库的多个应用程序

时间:2012-05-29 16:07:30

标签: ruby-on-rails ruby architecture

我正在使用rails开发企业Web应用程序。 我试图找出在2-3个rails应用程序之间使用相同模型和数据库的最佳方法。

我的项目包含不同的应用程序,例如用户应用程序,客户应用程序和管理员应用程序。 所有这3个将使用相同的数据库和几乎相同的模型。 我想创建3个不同的rails应用程序并将它们部署到不同的服务器上。

分享模特的最佳方式是什么?

4 个答案:

答案 0 :(得分:2)

构建一个包含模型和数据库的应用程序。使所有控制器返回json(或xml)。不为此应用提供观看次数。然后,创建您的其他应用程序,以便他们对第一个应用程序进行http调用。这使您可以根据需要将原始应用程序的模型/数据库/功能共享给尽可能多的其他应用程序。未来的应用程序甚至可以在必要时使用自己的或补充数据存储,因为它们只使用原始应用程序作为服务。

答案 1 :(得分:0)

其中一个解决方案是编写自定义库或gem,并将所有常用代码放在此处。

答案 2 :(得分:0)

在各种项目的database.yml文件中,只需将它们指向同一个数据库即可。然后在各种项目中使用相同的类名。

答案 3 :(得分:0)

您可以构建4个rails应用。 datastoreapp包含数据模型,控制器返回json(无视图)。 userapp,custapp,adminapp可以对数据存储区域api调用统一数据。