當您生成Rails引擎時,一個生成的產品是test/dummy
下的完整基本Rails應用程序。這是有道理的,你希望能夠在應用程序環境中測試引擎,但令我驚訝的是,即使對於非測試活動如rake db:migrate
,似乎也需要test/dummy
應用程序。我是否需要在Rails 4引擎中自定義生成的虛擬應用程序?
我嘗試從Rakefile
中刪除對虛擬應用程序的引用,但它似乎是硬編碼到引擎系統中(請參閱參考engine.rake
中的APP_RAKEFILE
)。
我試圖將Rails應用程序轉換爲引擎,並運行到配置,加載順序等各種問題。當我放置斷點並查看調用堆棧時,它看起來至少有一些問題是原始應用程序中的配置腳本(例如boot.rb
)與生成的虛擬設備之間的差異。
有人可以解釋爲什麼虛擬應用程序是必需的,它的功能是什麼?我應該期望脫離使用「原始」生成的虛擬,還是修改/定製它是不可避免的?