我现在正在使用炼油厂cms。我创建了一个引擎,并在app/helpers/admin/
中添加了一些助手。
现在我想在我的前端视图(即app/views/myapp/index
)中使用这些助手。但我不能......未定义的方法错误。
除了将整个事情复制到app/helpers/
之外我还需做什么?
帮助器看起来像这样
module Admin
module myHelper
def somefunc
end
end
end
那么可以在Admin模块之外使用somefunc
吗?
答案 0 :(得分:55)
在视图中包含来自非标准路径的帮助程序的“Rails方式”是在控制器中使用.helper方法。
class MyController < ApplicationController
helper Admin::MyHelper
...
end
http://apidock.com/rails/AbstractController/Helpers/ClassMethods/helper
答案 1 :(得分:24)
在application_helper.rb
:
module ApplicationHelper
include Admin::MyHelper
end
这会将这些辅助方法导入ApplicationHelper
,从而使它们在您的视图中可用。你真的可以在你的任何助手那里做到这一点。
答案 2 :(得分:1)
您可以尝试使用Admin::myHelper::somefunc
等完整对象引用从somefunc
模块外部调用Admin
。