37

我现在正在使用炼油厂 cms。我创建了一个引擎,并在app/helpers/admin/. 现在我也想在我的前端视图(即app/views/myapp/index)中使用这些助手。但我不能......未定义的方法错误。除了将整个内容复制到之外,我还需要做app/helpers/什么?助手看起来像这样

module Admin
    module myHelper
        def somefunc
        end
    end
end

那么可以somefunc在管理模块之外使用吗?

4

3 回答 3

62

在视图中包含来自非标准路径的帮助器的“Rails 方式”是在控制器中使用 .helper 方法。

class MyController < ApplicationController
    helper Admin::MyHelper
    ...
end

http://apidock.com/rails/AbstractController/Helpers/ClassMethods/helper

于 2012-08-12T08:47:57.890 回答
28

在你的application_helper.rb

module ApplicationHelper
  include Admin::MyHelper
end

这会将这些辅助方法导入到 中ApplicationHelper,从而使它们在您的视图中可用。你真的可以在你的任何助手中做到这一点。

于 2011-05-20T12:15:11.767 回答
1

您可能会尝试使用完整的对象引用,例如从模块外部Admin::myHelper::somefunc调用。somefuncAdmin

于 2011-05-20T12:11:57.797 回答