2014-02-25 120 views
1

我有一个部署在一个网站上的Rails应用程序。我想现在能够创建,维护和部署这个应用程序的副本,但稍有不同的配置和不同的前端。维护不同的应用程序共享相同的代码

主要区别在于html和css,但在整个网站中使用的文本也有一些不同(可能需要使用i18n)。

我曾想过为每个不同的视图文件夹使用git子模块。虽然这可以让我将这些视图的提交分开,但我不清楚如何指定要使用哪个视图文件夹。这不是一个好的解决方案。

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

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

+1

您可以在存储库中为不同的站点使用不同的分支。 –

+1

其中一种方法是将重复的代码分解为宝石/引擎。 –

回答

0

有几种方法,你可能做到这一点:


Templates

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

我自己从来没有使用过它们,但显然,模板可以帮助您为新的Rails应用程序提供一些结构。虽然他们是为了给你标准化宝石文件等,我见过的人做一些很复杂的事情模板


Engines

您可能还可以使用引擎的帮助:

引擎可以被认为是微型应用程序,它们的主机应用程序提供了 功能。 Rails应用程序是 实际上只是一个“增压”发动机,与Rails ::应用 类继承自Rails的很多其行为的::引擎

虽然这些似乎是深施技术水平,你或许可以从使用这些特定的功能应用程序


DB中受益?

如果你只是改变前端,你为什么不专注于使用相同的数据库的两个Rails应用程序?这将使你能够根据需要定制前端,从而帮助你做你想做的事情,而不是限制自己

如果你详细说明你想要更改的部分,我可以给出更明确的建议&为什么!

+0

最后我和Rails引擎一起去了。谢谢。 – benjaminjosephw

相关问题