rails 独学して軽くにちゃんまとめつくる

インターン中大学生のブログ

ぐるぐる回って何をしたいのかが変わってく。今はマッチングサイトを作りたい、もしくは論文のキュレーションサイトかな。

ユーザー画面に画像を追加する

gravatar というサービスを使う。gemを使うわけではなく、ただ単にヘルパーを作成し、そのヘルパーを使いたい場所で呼び出すだけ。

 

gravatar_forというヘルパーを作成する

app/helpers/users_helper.rb

def gravatar_for(user, options = { size: 80 })
gravatar_id = Digest::MD5::hexdigest(user.email.downcase)
size = options[:size]

gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}"
image_tag(gravatar_url, alt: user.name, class: "gravatar")
end

 

Userの一覧画面で表示させる

app/views/users/show.html.erb

<% provide(:title, @user.name) %>
<div class="row">
  <aside class="col-md-4">
    <section class="user_info">
      <h1>
        <%= gravatar_for @user %>
        <%= @user.name %>
      </h1>
    </section>
  </aside>
</div>
 

たったこれだけ。表示される画像はこれ一種類だけだが、見てくれをきにしなかったら十分使える。

f:id:mooooooooooriiiiii:20161217173606j:plain

 

ちなみに仕組みについてだが、

https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}

この部分がみそ。#{gravatar_id}と#{size}にてきとうな文字をいれてみると、画像が表示されるようになっている

 

https://secure.gravatar.com/avatar/tekitoutekitou?s=10

https://secure.gravatar.com/avatar/randomdayonn?s=11000