呟きに対していいねボタンを押すと、いいねカウントが上がるという機能をつけようと思っています。
コードとエラー文(一部省略)
index.html.erb
erb
1<%= @tweets.each do |tweet| %> 2 <%= tweet.text %> 3 <%= link_to "いいね", tweets_iine_path(tweet), class: 'btn btn-default' %> 4 <%= tweet.iine %> 5<% end %>
tweets_controller.rb
rb
1class TweetsController < ApplicationController 2 . 3 . 4 def iine 5 tweet = Tweet.find(params[:id]) # ※エラー箇所 6 if tweet.iine == nil 7 tweet.iine = 0 8 end 9 tweet.iine += 1 10 tweet.update 11 redirect_to root_path 12 end 13end
エラー文
ActiveRecord::RecordNotFound in TweetsController#iine
Couldn't find Tweet without an ID
わかっていること
params[:id]はshowビューなどのURLから値を取得するので、今回のようにindexから直接アクションに飛ぶ場合は値が取得できないのだと思います。
しかし、その場合どのような方法でデータの取得をすればいいのかわかりません。
初歩的な質問ですが、助言をお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/02 13:52
2019/01/02 18:08
2019/01/03 05:22