在覆盖Rails引擎视图/布局时访问主应用程序助手

uta*_*two 23 ruby-on-rails rails-engines ruby-on-rails-3.1 rails-3.1

我创建了一个简单的Rails引擎,为应用程序提供一些通用功能(照片库).我希望能够覆盖标准_header部分,以便库的菜单与我的主应用程序的菜单匹配.在我的标题视图中,我调用了一个帮助程序,它是application_helpers(主应用程序)的一部分,但我一直收到"未定义的方法"错误.据我所知,当我覆盖引擎应用程序布局或其部分时,主应用程序application_helpers没有被包含(显然).

所以我的问题是,如何覆盖主应用程序中的引擎视图,并获得对主应用程序帮助程序方法的访问权限?我仍然需要访问引擎助手,而不是搞砸引擎功能.

我是否还需要覆盖控制器?得到一些帮助似乎很多.

谢谢

Rails 3.1.3

Pat*_*ann 1

尝试在应用程序中创建一个与引擎中的帮助程序同名的帮助程序,以便覆盖引擎帮助程序方法。

我发现这次讨论特别有见地。Rails Engine API 文档中的isolated engine helpers下也有一些有趣的想法。