Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在另一个Rails引擎(AlchemyCMS)中包含来自Rails引擎(Spree)的助手方法_Ruby On Rails_Ruby_Spree_Rails Engines - Fatal编程技术网

Ruby on rails 如何在另一个Rails引擎(AlchemyCMS)中包含来自Rails引擎(Spree)的助手方法

Ruby on rails 如何在另一个Rails引擎(AlchemyCMS)中包含来自Rails引擎(Spree)的助手方法,ruby-on-rails,ruby,spree,rails-engines,Ruby On Rails,Ruby,Spree,Rails Engines,我遇到的是: AlchemyCMS是一个Rails引擎,允许Rails应用程序拥有内容管理系统。它还有一个预览页面,可以在其中加载带有布局的示例页面的iframe。这里的布局是Spree布局。我已经修改了Alchemy,以便能够加载spree应用程序布局,而不是它的默认布局 这样做并不是加载helper方法。我目前收到: undefined local variable or method `title' for #<#<Class:0x007f8dcc359498>:0x00

我遇到的是:

AlchemyCMS是一个Rails引擎,允许Rails应用程序拥有内容管理系统。它还有一个预览页面,可以在其中加载带有布局的示例页面的iframe。这里的布局是Spree布局。我已经修改了Alchemy,以便能够加载spree应用程序布局,而不是它的默认布局

这样做并不是加载helper方法。我目前收到:

undefined local variable or method `title' for #<#<Class:0x007f8dcc359498>:0x007f8de17dd6a8>
未定义的局部变量或方法“title”#
其中
title
是应用程序中的第一个助手方法

我尝试了5000种不同的技术,试图将Spree的助手方法加载到炼金术中,但我就是做不到

有人知道怎么做吗?

您可以通过在应用程序控制器或基础炼金术控制器中包含Spree的助手来实现

炼金术和狂欢在一起有一个扩展,在这里做了类似的事情:

您将只想朝相反的方向进行,因此您不需要装饰Spree控制器以在中添加炼金术,而是装饰炼金术控制器以包含您需要使用的Spree控制器助手:

在这种情况下,您需要包括通用控制器帮助程序:

编辑:


即使我包含了
ControllerHelpers
类,我仍然必须单独包含
ControllerHelpers::Store
类。我将向ControllerHelpers添加Store。
Alchemy::BaseController.class_eval do
  include Spree::Core::ControllerHelpers
  include Spree::Core::ControllerHelpers::Store
  helper Spree::Core::Engine.helpers
end