前提・実現したいこと
Ruby on Rails で 投稿した記事にいいねをされた数ではなく、いいねをしたユーザーのユーザー名を表示したいのですができません。
発生している問題・エラーメッセージ
NoMethodError in PostsController#show undefined method `user_id' for #
該当のソースコード
posts_controllerのタブ def show @post = Post.find_by(id: params[:id]) @user = @post.user @likes = Like.where(post_id: @post.id) @likes_name = User.find_by(id: @likes.user_id) end
show.htmlのタブ <p> <% @likes_name.each do |name|%> <%= link_to(user.name, "/users/#{user.id}") %> <% end %> </p>
試したこと
@likesで投稿にいいねされたデータをlikesテーブルから取り出して、その中のuser_idを使って@likes_nameでusersテーブルからnameを取り出してshow.htmlに表示しようと考えました。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/02 22:32
2020/09/03 00:46
2020/09/03 10:46
2020/09/03 11:13
2020/09/04 08:14
2020/09/04 12:37
2020/09/05 05:06