我正在考慮將Rails插件的各個方面作爲重用來開發。我的問題是關於開發過程。由於每個插件都會提供「切片」功能,我是否應該將每個「切片」作爲自己的應用程序進行開發,然後將每個應用程序的代碼抽取到插件中?或者,我是否應該將它們作爲插件直接寫入應用程序?最終,我會鏈接到這些來自每個站點的插件,以保持乾燥。Ruby on Rails插件開發過程
我想主要的問題是創建多個「Engine」類型插件的開發過程是什麼?
在此先感謝您的幫助。
我正在考慮將Rails插件的各個方面作爲重用來開發。我的問題是關於開發過程。由於每個插件都會提供「切片」功能,我是否應該將每個「切片」作爲自己的應用程序進行開發,然後將每個應用程序的代碼抽取到插件中?或者,我是否應該將它們作爲插件直接寫入應用程序?最終,我會鏈接到這些來自每個站點的插件,以保持乾燥。Ruby on Rails插件開發過程
我想主要的問題是創建多個「Engine」類型插件的開發過程是什麼?
在此先感謝您的幫助。
兩種方法都是有效的。
當編寫一個基本的插件時,我通常會更容易將它與將使用它的應用程序一起編寫。因爲我發現設計/測試已經存在的東西很容易。但是,當涉及到引擎插件時,我更願意將它們作爲單獨的應用程序進行開發,然後在將其移入插件時撕掉所有不必要的位。它們本質上是小型應用程序,當它們安裝在新創建的rails項目上時,它們應該是完全可用的。
通過將它們設計爲自己的應用程序,我確保適當的劃分。這確保我不會意外引用不屬於我正在開發的引擎的代碼模型/控制器/視圖/助手。
如果您以這種方式開發多種引擎類型插件,您可能需要使用實用程序腳本來壓縮幾個步驟。例如簡化將應用程序轉換爲引擎插件的過程。
它應該根據需要重構您的應用程序並填充插件應具有的文件,例如init.rb.
您可能還想看看Desert框架。