質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

261閲覧

referencesで作ったコメントを削除出来ない

KOO_

総合スコア58

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2019/06/16 15:45

こんばんわ。現在プログラミングをしており、不明点があります。

referencesでプログラムを組んだコメントを削除しようとした際、削除に対して

show

1ActionView::Template::Error (No route matches {:action=>"show", :company_id=>#<Company id: 1, user_id: 1, agree_check: nil, company:... updated_at: nil>}, possible unmatched constraints: [:id]): 2 270: <th width="60%"><%= comment.body %></th> 3 271: <td width="20%"><%= comment.created_at %></td> 4 272: <td width="20%"><%= link_to '削除', 5 273: mypage_company_comment_path(@company, comment), 6 274: method: :delete, 7 275: class: :"btn btn-primary", 8 276: data: { confirm: '本当に削除しますか?'} %></td> 9

上記のようなエラーが発生します。

問題点としては、273行目の()内の記法かと思うのですが自己解決出来ません。

commentscontroller

1class Mypage::CommentsController < ApplicationController 2 3 def create 4 @company = Company.find(params[:company_id]) 5 @company.comments.create(comment_params) 6 redirect_to mypage_company_path(@company) 7 end 8 9 def destroy 10 @company = Company.find(params[:company_id]) 11 @comment = @company.comments.find(params[:id]) 12 @company.destroy 13 redirect_to mypage_company_path(@company) 14 end 15 16 private 17 def comment_params 18 params.require(:comment).permit(:body) 19 end 20 21end 22

ご教示よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

@company = Company.find(params[:company_id]) @comment = @company.comments.find(params[:id]) @company.destroy redirect_to mypage_company_path(@company)

@company.destroy の部分で @company を削除してしまっているので
redirect_to mypage_company_path(@company)
この部分が存在しない company のpageにredirectしようとしているように見えます。
companyのindexであったり、少なくともdestroyしたcompany以外のpageにredirectさせるとよさそうです。

投稿2019/06/16 23:33

t_kusakabe74

総合スコア549

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問