Foremgemを使用してフォーラムをインストールしています。Facebookでログインできるので、アバターのパーソナライズを可能にするオプションがあります。ユーザーモデルでメソッドを指定するだけで、それだけです。
# 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のようにそのオブジェクトをグローバル化する方法はありますか?その引数を手動で渡す必要がありますか?