我有一個現有的Web應用程序運行在Rails上。該計劃是設置一個新的服務器,它將提供一個API服務,並最終將webapp更新爲該API的客戶端。包裝導軌2.3型號
這似乎是一個很好的方法來實現這一目標將所有模型打包爲寶石並在兩個應用程序之間共享它們。最終,API服務將是單一的 - 包含所有模型,但有一段時間的開發/遷移需要共享模型。
API和webapp都將使用相同的數據庫。
- 跳到包裝我所有的 模型之前,我需要考慮什麼?
- 將所有模型打包成單個寶石,單獨打包每個模型還是執行某種邏輯分組模型是否值得?
- 我會如何處理 寶石的依賴關係?
僅供參考,這裏有一個類似的上下的問題: Sharing models between Rails apps using gems
我也剛開始熟悉包裝Ruby代碼爲Rubygem。 (這可能解釋了我上面的一些問題。)
我使用的是Rails 2.3.14,而不是Rails 3.X.
如果新服務器上的應用程序提供了一個真正的API,那麼您甚至不必在使用此API的所有應用程序之間共享模型,對吧?但是如果你想分享這些模型,那麼如果你使用的是rails 3.1,這似乎很容易。例如,您可以創建一個包含所有模型和相關庫的引擎。 – Robin
正如我剛纔提到的那樣,最終的目標將是模型被包含在API引擎中。 :) – GrooveStomp