我的助手中有多种方法,可以在相应视图中调用它们,完全没有问题。但是,我试图在ApplicationHelper中添加一个通用方法,该方法可在其他帮助器中使用,并且抛出错误。错误是:
ActionView::Template::Error (undefined local variable or method `rank_name' for #<#<Class:0x007f38a6a246b8>:0x007f389626a6a8>):
似乎只没有包含该助手。知道为什么会这样吗?我尝试将辅助程序和方法包含在ApplicationController内,但没有任何改变。
这是具体方法:
def gravatar_url(email, size)
gravatar = Digest::MD5::hexdigest(email).downcase
url = "http://gravatar.com/avatar/#{gravatar}.png?s=#{size}"
end
答案 0 :(得分:0)
据我了解,您希望在另一个Helper中使用ApplicationHelper中定义的方法。虽然在助手之间共享方法不是一个好习惯,但是您可以通过在controller或application_controller中使用它来实现:
helper :all