###前提・実現したいこと
railsでgravatarを実装しようとしています。
gravatarはアイコンユーザーのアイコンに使用します。
一般的なSNS同様、ホームにfeedを表示し、投稿とアイコン画像を表示します。
deviseを使用しており、複数ユーザーを実装しています。
users.helperとshops.helperにそれぞれ対応する引数を設定したgaravatarメソッドを定義しています。
しかし、予想に反して、アイコン画像が表示されません。
特にエラーメッセージが出ていないので、原因がわからず困惑しています。
※usersモデルでは、gravatar機能を確認できますが、shopモデルでは確認できません。
###発生している問題
###該当のソースコード
【users.helper】
module UsersHelper def gravatar_for(user, options = { size: 50 } ) if user_signed_in? size = options[:size] gravatar_id = Digest::MD5::hexdigest(user.email.downcase) gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}" image_tag(gravatar_url, alt: user.username, class: "gravatar") end end def current_user?(user) user == current_user end end
【shops.helper】
module ShopsHelper def gravatar_for(shop, options = { size: 50 } ) if shop_signed_in? size = options[:size] gravatar_id = Digest::MD5::hexdigest(shop.email.downcase) gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}?s=#{size}" image_tag(gravatar_url, alt: shop.shopname, class: "gravatar") end end def current_shop?(shop) shop == current_shop end end
【views/microposts/_micropost.html.erb】
<li id="micropost-<%= micropost.id %>"> <% if user_signed_in? %> <%= link_to gravatar_for(micropost.user, size: 50), micropost.user %> <span class="user"><%= link_to micropost.user.username, micropost.user %></span> <span class="content"> <%= micropost.content %> <%= image_tag micropost.picture.url if micropost.picture? %> </span> <span class="timestamp"> Posted <%= time_ago_in_words(micropost.created_at) %> ago. </span> <% if current_user?(micropost.user) %> <%= link_to "delete", micropost, method: :delete, data: { confirm: "You sure?" } %> <% end %> <% elsif shop_signed_in? %> <%= link_to gravatar_for(micropost.shop, size: 50), micropost.shop %> <span class="shop"><%= link_to micropost.shop.shopname, micropost.shop %></span> <span class="content"> <%= micropost.content %> <%= image_tag micropost.picture.url if micropost.picture? %> </span> <span class="timestamp"> Posted <%= time_ago_in_words(micropost.created_at) %> ago. </span> <% if current_shop?(micropost.shop) %> <%= link_to "delete", micropost, method: :delete, data: { confirm: "You sure?" } %> <% end %> <% end %> </li>
###補足情報(言語/FW/ツール等のバージョンなど)
【環境】
・rails4.2.5
・cloud9
ご助力お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。