意図しないuserのidを取得しています…
前提・実現したいこと
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])**を使っています。
何卒よろしくお願いします。
マルチポスト
テラテイル