[英]How to Include a Helper Method from a Rails Engine (Spree) inside of another Rails Engine (AlchemyCMS)
我遇到的是:
AlchemyCMS是一個Rails引擎,用於允許Rails應用程序具有內容管理系統。 它還具有一個預覽頁面,可以在其中加載帶有布局的示例頁面的iframe。 這里的布局是Spree布局。 我對Alchemy進行了修改,使其能夠加載狂歡應用程序的布局,而不是其默認布局。
這樣做不會加載輔助方法。 我目前收到:
undefined local variable or method `title' for #<#<Class:0x007f8dcc359498>:0x007f8de17dd6a8>
其中title
是應用程序中的第一個輔助方法。
我嘗試了5000種不同的技術來嘗試將Spree的輔助方法加載到AlchemyCMS中,但我做不到。
有人知道嗎?
本
您可以通過在應用程序控制器或基本的Alchemy控制器中包含Spree的助手來實現。
有一個煉金術和狂歡的擴展,在這里做類似的事情: https : //github.com/magiclabs/alchemy_spree/blob/master/app/controllers/spree/base_controller_decorator.rb
您將只想朝相反的方向前進,而不是裝飾Spree控制器以添加Alchemy,而是裝飾Alchemy控制器以包括您需要使用的Spree控制器助手中的任何一個: https : //github.com/spree/spree/ blob / master / core / app / controllers / spree / base_controller.rb
在這種情況下,您需要包括常見的控制器助手: https : //github.com/spree/spree/blob/master/core/lib/spree/core/controller_helpers/common.rb
編輯:
Alchemy::BaseController.class_eval do
include Spree::Core::ControllerHelpers
include Spree::Core::ControllerHelpers::Store
helper Spree::Core::Engine.helpers
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.