ApplicationHelper无法正常工作,所有方法都未定义

时间:2018-09-18 03:27:03

标签: ruby-on-rails ruby ruby-on-rails-5 helper

我的助手中有多种方法,可以在相应视图中调用它们,完全没有问题。但是,我试图在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

1 个答案:

答案 0 :(得分:0)

据我了解,您希望在另一个Helper中使用ApplicationHelper中定义的方法。虽然在助手之间共享方法不是一个好习惯,但是您可以通过在controller或application_controller中使用它来实现:

helper :all