前提・実現したいこと
新規登録でプロフィール画像を保存した場合は登録した画像を表示し、
何も保存しなかった場合はデフォルトの画像を表示させたいです。
発生している問題・エラーメッセージ
該当のソースコード
ruby
1users/show.html.erb 2 3 <div class="col-md-4 text-center"> 4 <% if @user.profile_photo.present? %> 5 <%= image_tag @user.profile_photo, class: "round-img" %> 6 <% else %> 7 <%= image_tag avatar_url(@user), class: "round-img" %> 8 <% end %> 9 </div>
ruby
1application.helper.rb 2 3module ApplicationHelper 4 def avatar_url(user) 5 return user.profile_photo unless user.profile_photo.nil? 6 7 Digest::MD5.hexdigest(user.email).downcase 8 "https://~~~.jpg" 9 end 10end
試したこと
if文を記述しなかった時は、デフォルト画像のみ又は保存した画像のみの表示はできるので、場合分けがうまくいっていないのではないかと思っております。
またエラーコードで調べたところ、
ruby
1<%= image_tag avatar_url(@user), class: "round-img" if @user.profile_photo? %>
上記コードのように”if @user.profile_photo?”を追加すると解決したという回答をよく見たのですがこちらを追加した場合、エラーは出なくなるのですが画像が表示されませんでした。何かご助言よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
Rails 6.1.4.1
Mac OS
docker
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/04 02:46