为什么我的Rails可安装引擎无法正确加载辅助方法?

我已经构建了一个可以作为引擎安装的rails gem。

引擎的范围是它自己的命名空间。

在引擎中,有一个MyEngine::ApplicationHelper模块,它添加了一堆视图助手方法。

在我的应用程序布局中,我指的是其中一些方法。

当我第一次在开发模式下加载任何页面时,我得到一个NoMethodError ,抱怨该方法(在gem的ApplicationHelper定义)不存在。

一旦我在我的应用程序中编辑ApplicationController ,问题就会自行解决。

有些东西告诉我,这取决于Rails自动加载的最新变化; 我正在使用Rails 3.2.2

我不能为我的生活解决为什么这不能正常工作:/

我认为Rails指南在这里有答案。

要在您的应用中包含引擎中的特定助手,请执行以下操作:

 class ApplicationController < ActionController::Base helper MyEngine::ApplicationHelper end 

要在您的应用中包含引擎中的所有帮助:

 class ApplicationController < ActionController::Base helper MyEngine::Engine.helpers end