2010-06-25 15 views
1

我正在研究可以邏輯分組爲核心引擎和業務領域模塊的應用程序。業務領域模塊基本上封裝了特定於我們客戶業務的代碼。我們最初使用我們的核心引擎的根軌結構將其分開,並將所有客戶代碼放在單獨的插件中。是否使用Rails插件進行模塊化?

但是我們遇到了各種各樣的問題,其中大部分可能會放在開發環境中的Rails類重新加載。儘管我們已經設法大量工作,但我們遇到了Rails錯誤,並且部分卸載類與Rails.cache結合在一起。

我想知道的是,我們是否在濫用Rails插件的預期使用模式?正在打包我們的應用程序的各個方面,因爲插件是正確的舉措?有沒有更好的方法來做到這一點?或者我們應該寧願戰士解決這些剩餘的問題?

我們現在正在將插件作爲模塊在根軌結構中重寫,但我必須承認我更喜歡插件迷你應用程序目錄結構的優雅。

Brendon McLean。

回答

0

我的大型應用程序包括幾個專用於應用程序的插件。我同意插件可以很好地隔離各種功能。

我沒有遇到你描述的加載問題,因爲我關閉了在dev模式下的動態類重新加載。

爲什麼不能動態類重新加載?這看起來太慢了。更方便的cntrl-c並在需要時重新啓動測試雜種。畢竟,在進行進一步更改之前,我通常針對多個html請求/回覆循環運行代碼的指定迭代。

您的原始插件架構聽起來像是爲您解決了幾個問題。在更改軟件體系結構之前,我首先嚐試更改該工具(關閉動態重新加載)。

+0

很高興知道其他人在生產中成功使用Rails引擎。但我不確定團隊是否會容忍關閉動態重新加載(尤其是接近前端的那些)。也許我會再試一次試圖解決我們不完整的卸載類問題。 – 2010-06-26 11:04:42

+0

感謝您的回答。我已經做出了讓插件/引擎更加高效的方法。新增了config.reload_plugin = true,並將所有內容放在軌道友好的位置。我還爲開發創建了一個空緩存,它永遠不會緩存任何內容。我認爲這解決了我們的插件問題。 – 2010-06-30 13:51:43

相關問題