我已经建立了一个轨道宝石作为一个引擎.
引擎的范围是它自己的命名空间.
在引擎中,有一个MyEngine :: ApplicationHelper模块,它添加了一堆视图助手方法.
在我的应用程序布局中,我参考了一些这些方法.
当我首先在开发模式下加载任何页面时,我得到一个NoMethodError,抱怨方法(在gem的ApplicationHelper中定义)不存在.
一旦在我的应用程序中编辑ApplicationController,问题就会自动更正.
有些事情告诉我,这是由于Rails自动加载的最近的变化;我使用的是Rails 3.2.2
我无法为我的生活工作,为什么这不能正常工作:
解决方法
我认为Rails指南有
here的答案.
在您的应用程式中加入引擎的特定助手:
class ApplicationController < ActionController::Base helper MyEngine::ApplicationHelper end
在您的应用程式中包含引擎中的所有助手:
class ApplicationController < ActionController::Base helper MyEngine::Engine.helpers end