2011-08-23 29 views
1

我有2個即將構建的應用程序(可能是第三個API),所有這些應用程序都將使用同一個數據庫。在所有應用程序中使用相同模型的最佳方式是什麼?在多個應用程序中使用ActiveRecord模型的最佳方式

此外,你有什麼經驗或預測這種方法的警告。尋找最佳解決方案。

+0

我的問題是爲什麼他們必須是單獨的應用程序?在應用程序中,即使共享模型,也可以擁有單獨的控制器和視圖。 –

+0

我們正在計劃開發前端應用程序和管理應用程序。讓他們在單獨的應用程序(或不是,我們正在討論)的目的是爲了源代碼管理,並且不要搞糟共享代碼。 –

回答

0

Rails作爲獨立軟件,更喜歡單個應用程序,而不是共享模型。我已經嘗試過兩種方式。你打算只有那些可能不同步的模型副本?你還計劃使用Rails的遷移嗎?當你有多個應用程序時,遷移變得困難。你只使用一個應用程序進行遷移?然後,您將無法檢查遷移以及它所引用的代碼。自動構建可能會變得非常困難。你也可以找到一種共享遷移的方式,但這需要一些源代碼管理,最終使得單獨的應用程序變得更加困難,並且仍然能夠獲得Rails所提供的一切。那時你可能想看看Sinatra。

另一方面,您可以在單個應用程序中進行大量的組織工作,以保持模型域共享,但將控制器分開,例如使用名稱空間或引擎。我會推薦這些技術。

相關問題