2014-02-25 113 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

相關問題