いいね機能とコメント機能をつけたのですが、その表示を投稿一覧ページに表示させようとするとエラーになってしまいます。
詳細ページではコントローラーの記述を
def show @comment = Comment.new @comments = @tweet.comments.includes(:user) @tweet = Tweet.find(params[:id]) @like = Like.find_by(user_id: current_user.id,tweet_id: @tweet.id) @likes_count = Like.where(tweet_id: @tweet.id).count @comments_count = Comment.where(tweet_id: @tweet.id).count end
とすることで実装が可能となっております。
この場合投稿が一つなので、投稿に紐つくLIKE と Commentが特定できるので可能かとおもいます。
しかし、投稿一覧表示で同じことをしようとしたときに
def index @tweets = Tweet.includes(:user).order("created_at DESC") @likes_count = Like.where(tweet_id: @tweets.id).count @comments_count = Comment.where(tweet_id: @tweets.id).count end
この記述だとおそらく投稿したtweetが複数あるため特定できずエラーとなってしまいます。
一覧表示でも投稿を特定できるいい方法はないでしょうか?
よろしくお願いいたいます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/13 13:03