gravatarでサイトに自身のアバター写真を表示させる(RAILS)
イメージ
1.Gravatar登録、写真アップロード
2.コード
application_helper.rb
module ApplicationHelper
def avatar_url(user)
gravatar_id = Digest::MD5::hexdigest(user.email).downcase
"https://www.gravatar.com/avatar/#{gravatar_id}.jpg?d=identicals&=150"
end
end
module ApplicationHelper
def avatar_url(user)
gravatar_id = Digest::MD5::hexdigest(user.email).downcase
"https://www.gravatar.com/avatar/#{gravatar_id}.jpg?d=identicals&=150"
end
end
説明:user objectよりuser emailをinput parameterとして取得。Digest::MD5::hexdigestよりuser emailをmd5スタンダードに変換して(参考:https://qiita.com/tdrk/items/2272f19cf0229df69554)、変数gravatar_idに代入。
そして次のリンクに返す。
3.自分の登録EメールのMD5をチェック
まずhttps://www.md5hashgenerator.com/
で自分のメールアドレスを入力してMD5ハッシュを生成する
次にhttp://gravatar.com/avatar/生成したハッシュ.jpg
をURLに打つとGRAVATARで登録した画像が表示されるはず。
これが実は#2のコードの流れと似ています。
4.HTMLにimage_tagを追加
例.html.erb
<a href="#" class="dropdown-toggle" data-toggle="dropdown"
role="button" aria-haspopup="true" aria-expanded="false">
<%= image_tag avatar_url(current_user), class: "image-circle avatar_small" %> 
<%= current_user.fullname %> <span class="caret"></span></a>
<a href="#" class="dropdown-toggle" data-toggle="dropdown"
role="button" aria-haspopup="true" aria-expanded="false">
<%= image_tag avatar_url(current_user), class: "image-circle avatar_small" %> 
<%= current_user.fullname %> <span class="caret"></span></a>
class: "image-circle avatar small" %> の部分でアバターを丸めて、scss設定したavatarのサイズを適用して、間にスペースをおきます。
5.補足
avatar_urlはヘルパーであるためアプリ内においてどこでも使用できる。
Author And Source
この問題について(gravatarでサイトに自身のアバター写真を表示させる(RAILS)), 我々は、より多くの情報をここで見つけました https://qiita.com/YANG_LIU/items/e219acfab180f45555b2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .