一方面,我有一個可安裝的引擎,比方說前面 正面包含我的資產和幾頁 它與MainApp隔離。我不希望它觸及主應用程序。可安裝引擎的軌道prepend_view_path
另一方面,我想要我的MainApp使用佈局和部分Front。 所以我設置的佈局是這樣的:
class ApplicationController < ActionController::Base
layout 'front/application'
end
但前/應用程序是指發動機的部分直接,因爲隔離的,這樣
render 'header' # front/ prefix is not required
所以MainApp觀點嘗試加載應用程序/意見/應用/報頭,而不是應用程序/視圖/前/應用/報頭
要FIXE此我把像這樣的prepend_view_path:
class ApplicationController < ActionController::Base
layout 'front/application'
before_filter :prepend_front
protected
def prepend_front
prepend_view_path "app/views/front"
end
end
但是這不起作用,因爲引擎路徑指向供應商。 引擎將它自己添加到prepend路徑列表中:〜/ main_app/vendor/private_gems/front-0.0.2/app/views 我的preprend_front方法創建了這個:〜/ main_app/app/views/front
我tryed以武力前面加上正確的路徑(但它看起來這麼髒):
prepend_view_path "#{Rails.root}/vendor/private_gems/front-0.0.2/app/views/front"
我不工作,只是崩潰的應用程序...
而且我卡在這裏。也許我的設計錯了?
確實很好洞察。謝謝 ;) – ProxyGear 2014-01-24 19:07:56