2011-11-16 67 views

回答

3

其中一個最好的例子是Devise(用於身份驗證),它是一個引擎(插件),但它作爲共享引擎安裝;您還可以獲得名稱空間引擎,這有助於保持上下文感。

另一個例子是Active Admin加載項,錯誤通知插件......以及更多。從純粹路由的角度來看,「安裝」方面,您可以看到如何使用名稱空間引擎來爲您的應用程序內的路線提供完全隔離的Rails應用程序。

你也應該考慮reading this

1

兩個主要用途:

  • 可重用性。揭示大量應用程序功能的寶石通常作爲引擎分發。
  • 模塊化。特別是對於大型應用程序,通常應用程序的某些部分看起來並不像他們想要與主應用程序混合在一起,但卻與提取到完全獨立的應用程序有太密切的關係。發動機可以很好地工作。

Spree將此置於極端:核心Spree框架是主要的Rails應用程序,並且要定製它,您需要編寫引擎。這意味着你永遠不會直接修改Spree核心。

相關問題