2012-07-10 45 views
1

我有一個應用程序,包括一個主要的軌道3.2應用程序,充當基地和管理部分。我也有一個孤立的引擎,處理未登錄的部分網站。Rails隔離從main_app依賴關係的引擎

很自然,引擎對主應用程序中的類有很多依賴關係。這使得很難孤立地進行測試。我在主應用程序和引擎之間看到了一個「橋樑」的例子,但我不記得在哪裏。

我想我真正要問的是如何處理這些類型的依賴關係,你可以最小化它們,以及如何測試引擎?據我瞭解,你從虛擬應用程序運行測試,但由於我有很多的依賴關係,不能很好地工作。

最佳實踐有沒有什麼好的資源?

回答

1

很自然,引擎對 主應用程序中的類有很大的依賴性。

這不是Rails引擎背後的想法。引擎應該能夠獨立運行。如果您正在構建的代碼項目依賴於Main Rails應用程序,那麼您正在構建一個擴展。如果這是真的,請查看Spree項目。它是一個主要的Rails應用程序,具有多個依賴於Spree應用程序的擴展。

https://github.com/spree

如果您正在尋找真正的Rails引擎的例子,看看這些, https://github.com/westonplatter/questionnaire_engine
https://github.com/radar/forem/
https://github.com/plataformatec/devise/

充分披露,我幫代碼QuestionnaireEngine。

+0

Spree項目不是每個擴展都使用Rails引擎嗎?如spree_review。這是合理使用引擎嗎?我還希望將代碼作爲依賴於容器應用程序(或「核心」引擎)的引擎分離出來, – rigyt 2013-05-27 16:40:44