维护共享相同代码的不同应用程序

时间:2014-02-25 08:58:00

标签: ruby-on-rails git

我有一个部署在一个站点上的Rails应用程序。我现在想要创建,维护和部署此应用程序的副本,但配置略有不同,前端不同。

主要区别在于html和css,但整个网站使用的文本也有一些差异(也许我需要使用i18n)。

我考虑过为每个不同的视图文件夹使用git子模块。虽然这将允许我将这些视图的提交分开,但我不知道如何指定要使用的视图文件夹。这不是一个好的解决方案。

理想情况下,我希望能够将这些应用程序保存在单独的存储库中,但也能够在它们之间共享代码。

维护多个应用的​​最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

有几种方法可以做到这一点:


Templates

  

应用程序模板是包含用于添加的DSL的简单Ruby文件   宝石/初始化器等,你刚刚创建的Rails项目或者   现有的Rails项目。

从未使用过它们,但显然,模板可以帮助您为新的Rails应用程序提供一些结构。虽然它们的目的是为您提供标准化的Gem文件等,但我看到人们用模板做了一些非常错综复杂的事情


Engines

您也可以使用引擎来提供帮助:

  

发动机可以被认为是提供的微型应用   其主机应用程序的功能。一个Rails应用程序是   实际上只是一个“增压”引擎,使用Rails :: Application   class从Rails :: Engine

继承了很多行为

虽然这些似乎是深层应用程序级技术,但您可以将它们用于应用程序内的特定功能


<强> DB吗

如果您只是更改前端,为什么不专注于为两个Rails应用程序使用相同的数据库?这将使您能够根据需要自定义前端,从而帮助您按照自己的意愿行事,而不是限制自己

如果您准确详细说明要更改的部分,我将能够给出更明确的建议。为什么!