###前提・実現したいこと
indexページ(ホーム)でログインしているユーザーのidを取得したいです。
id取得後、ログインしているユーザーが登録した画像アイコンを取り出します。
###発生している問題・エラーメッセージ
【page_controller.rb】
def index @user = User.find_by(params[:id]) end
【application.html.erb】
・ ・ <body> <div class="col-md-12"> <%= render 'layouts/header' %> </div> ・ ・
【_header.html.erb】
・ ・ <li> <%= link_to current_user do %> <%= render 'layouts/header_image' %> <%= current_user.username %> <% end %> </li> ・ ・
【_header_image.html.erb】
・ ・ <% if !@user.image.url.nil? %> <%= image_tag(@user.image.url, :alt => "アイコン", :width => '40', :height => '30', class: "header-icon") %> <% else %> <%= image_tag("no-image.png", :alt => "アイコン", :width => '40', :height => '30', class: "header-icon") %> <% end %> ・ ・
ここで、取り出してほしい画像はUser.idが3のユーザーの画像です。
しかし、実際に取り出されるのはUser.idが1のユーザーになってしまいます…
###補足情報
①User.idは1も3も存在しており、どちらも画像をpublicから取り出しています。
②Carrierwaveを使っています。
③User#showでも同様に画像を取り出していますが、こちらは意図した画像を取り出してくれます。
【User#show】
def show @user = User.find(params[:id]) end
index#pageでは**@user = User.find(params[:id])**でデータを取り出せないので、
**@user = User.find_by(params[:id])**を使っています。
何卒よろしくお願いします。
マルチポスト
スタックオーバーフロー
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。