投稿詳細ページで投稿に対してコメントできる機能をつけました。
その後コメントの削除機能を追加して削除を押すと
ActiveRecord::RecordNotFound in TweetsController#destroy
Couldn't find Tweet with 'id'=27
というエラーがでます。
tweets.controller.rbのdestroyアクションに飛んでいる状態です。
comments.controller.rbのdestroyに飛ばしたいのですが....
どうしたらいいでしょう?
ファイル views/commets/comment.html.haml .comments %h4 <コメント一覧> - if @comments - @comments.each do |comment| %p %strong = link_to comment.user.nickname, "/users/#{comment.user_id}" : = comment.text - if user_signed_in? && current_user.id == comment.user_id = link_to "削除","/tweets/#{comment.id}", method: :delete, class: "image-delete"
ファイル controllers/comments_controller.rb class CommentsController < ApplicationController def create @comment = Comment.create(text: comment_params[:text], tweet_id: comment_params[:tweet_id], user_id: current_user.id) respond_to do |format| format.html { redirect_to tweet_path(params[:tweet_id]) } format.json end end def destroy comment = Comment.find(params[:id]) comment.destroy end private def comment_params params.require(:comment).permit(:text).merge(user_id: current_user.id, tweet_id: params[:tweet_id]) end end
ファイル routes.rb resources :tweets do resources :comments, only: [:create, :destroy] end
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/27 04:40