初めまして、Ruby初学者です。
現在ポートフォリオのようなものを作成しております。
ご教授頂けると幸いです。
【実装したいこと】
いいね機能の実装
エラー解決
【エラー内容】
undefined method `like_user' for nil:NilClass
【背景】
like_userはpostモデルの中で定義しており、post.like_userで呼び出しているのにも関わらず、このようなエラーが表示されてしまいます。
_like.html.erb
<% if user_signed_in? %> <% if post.like_user(current_user.id) %> <%= button_to post_like_path(like, post_id: post.id), method: :delete, id: "like-button", remote: true do %> <%= image_tag("icon_heart.png") %> <span> <%= post.like_count %> </span> <% end %> <% else %> <%= button_to post_likes_path(post), id: "like-button", remote: true do %> <%= image_tag("icon_red_heart.png") %> <span> <%= post.like_count %> </span> <% end %> <% end %> <% else %> <%= image_tag("icon_red_heart.png") %> <span> <%= post.like_count %> </span> <% end %>
views/posts/index.erb
<%= render partial: 'likes/like', locals: { post: @post } %>
model/post.rb
has_many :likes, dependent: :destroy def like_user(user_id) likes.find_by(user_id: user_id) end
こちらの記事を参考に実装をしております。
https://qiita.com/YuitoSato/items/94913d6a349a530b2ea2
回答1件
あなたの回答
tips
プレビュー