2012-05-29 62 views
1

我正在開發使用Rails的企業Web應用程序的多種應用。 我試圖找出在2-3軌道應用程序之間使用相同模型和數據庫的最佳方式。Ruby on Rails的 - 與同型號,同分貝

我的項目由不同的應用程序組成,如用戶應用程序,客戶應用程序和管理應用程序。 所有這3個將使用相同的數據庫和幾乎相同的模型。 我想創建3個不同的rails應用程序並將它們部署到不同的服務器。

什麼可能是共享的模型的最佳方法是什麼?

回答

2

構建一個應用程序,包含了你的模型和數據庫。讓所有的控制器返回json(或xml)。不要看這個應用程序。然後,創建你的其他應用程序,以便他們對第一個應用程序進行http調用。這使您可以將原始應用程序的模型/數據庫/功能分享到必要的其他許多應用程序中。未來的應用程序甚至可以根據需要使用自己的或補充的數據存儲,因爲它們只使用原始應用程序作爲服務。

+0

謝謝@KAM,這很有道理。你的解決方案提醒我** ActiveResource ** [鏈接](http://api.rubyonrails.org/classes/ActiveResource/Base.html) – egezer

0

解決的辦法之一是編寫自定義庫或寶石,並把所有通用代碼在這裏。

0

在爲您的各種項目的database.yml文件,只是它們指向同一個數據庫。然後在各個項目中使用相同的類名稱。

0

你可以建立4個Rails應用。 datastoreapp包含數據模型和控制器返回json(無視圖)。 userapp,custapp,adminapp可以對datastoreapp進行api調用以獲得整合數據。