4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rails Tutorial-第7章メモ_part1

Posted at

就活の予定が色々と忙しくなってきて、思う様に勉強が進まなくて辛い。
今回はGravatarのところで結構ハマった。

##ハマったところ。

###Gravatarが表示されない
リスト7.12 ユーザー表示ビューに名前とGravatarを表示する

show.html.erb
<% provide(:title, @user.name) %>
<h1>
  <%= gravatar_for @user %>
  <%= @user.name %>
</h1>

リスト7.13 gravatar_forヘルパーメソッドの定義

users_helper.rb
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なるものを用いて、ユーザーのプロフィール画像を表示できる。

この
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}"

としたら無事に画像が表示された。

今後もこういうミスが目立ってくるんだろうなぁ...

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?