就活の予定が色々と忙しくなってきて、思う様に勉強が進まなくて辛い。
今回はGravatarのところで結構ハマった。
##ハマったところ。
###Gravatarが表示されない
リスト7.12 ユーザー表示ビューに名前とGravatarを表示する
<% provide(:title, @user.name) %>
<h1>
<%= gravatar_for @user %>
<%= @user.name %>
</h1>
リスト7.13 gravatar_forヘルパーメソッドの定義
def gravatar_for(user)
gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"
image_tag(gravatar_url, alt: user.name, class: "gravatar")
end
end
この部分。
このGravatarなるものを用いて、ユーザーのプロフィール画像を表示できる。
この
gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"
の部分に、ユーザーのメールアドレスを組み込むことで自動的に対応する画像が表示される仕組みらしい。
(私はFPSとか好きなんですが、BFとかでGravatar使ってたんですね。)
そして何にハマっていたかというと、本来はユーザー名の左に表示されるであろうGravatarの画像が表示されない。
ググってみてGravatarの画像(の変更)が反映されない時にすべきこととして、ブラウザのキャッシュの削除があった。
削除。
しかし表示されない。
しばらくにらめっこした結果、原因はgravatar_url
の部分だった。
gravatar_url = " https://secure.gravatar.com/avatar/#{gravatar_id} "
となっていて、自分の普段の癖でダブルクォーテーションの直後に空白を入れてしまっていた。
ここに空白があったせいで、パスが正しく認識されずにトラブっていたようだ。
この空白を消して、
gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}"
としたら無事に画像が表示された。
今後もこういうミスが目立ってくるんだろうなぁ...