我正在使用 Forem gem 安装一个论坛。有一个允许头像个性化的选项,因为可以使用 Facebook 登录。您只需在 User 模型中指定您的方法即可。
# Forem initializer
Forem.avatar_user_method = 'forem_avatar'
# User model
def forem_avatar
unless self.user_pic.empty?
self.user_pic
end
end
但我想为普通的非 Facebook 帐户使用 Gravatar。我在 Forem 上找到了该方法,理论上,我需要调用该avatar_url
方法:
# User model
def forem_avatar
unless self.user_pic.empty?
self.user_pic
else
Forem::PostsHelper.avatar_url self.email
end
end
但是,Forem 不是一个实例,而是一个模块,我不能调用它,也不能创建一个新实例。简单的方法是复制该方法的行,但这不是重点。有没有办法做到这一点?
谢谢
更新
两个答案都是正确的,但是当我以任何一种方式调用该方法时,都会出现此undefined local variable or method 'request'
错误,这是原始avatar_url
.
有没有办法像在 PHP 中那样全球化该对象?我是否必须手动传递该参数?