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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

ルーティング

ルーティングとは、TCP/IPネットワークにおいて、目的のホストまでパケットを送る為のパス選定のプロセスを言います。

Q&A

解決済

1回答

9732閲覧

Laravelでrouteにエラー The POST method is not supported for this route.

Yukimulla

総合スコア1

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

ルーティング

ルーティングとは、TCP/IPネットワークにおいて、目的のホストまでパケットを送る為のパス選定のプロセスを言います。

0グッド

0クリップ

投稿2021/07/15 13:09

前提・実現したいこと

Laravelで投稿へのコメント機能を作っていますが、ルーティングでエラーが発生してしまいます。
ルートのメソッドがPOSTになっていないといった意味だと思うのですが、POSTを指定しているのにも関わらず表示されるため原因がわかりません。
どうかご教示お願いいたします。

発生している問題・エラーメッセージ

The POST method is not supported for this route. Supported methods: GET, HEAD, PUT, PATCH, DELETE.

該当のソースコード

ファイル名:web.php Route::post('/articles/{article}/commentstore', 'CommentController@store')->name('comment.store');
ファイル名:CommentController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Comment; use Illuminate\Support\Facades\Route; class CommentController extends Controller { public function store(Request $request, Comment $comment) { $comment->body = $request->body; # $comment->image = $request->image; $comment->user_id = $request->user()->id; $comment->article_id = $request->article()->id; $comment->save(); return redirect()->route('articles.index'); } }
ファイル名:create.blade.php <div class="container"> <form method="POST" action="route('comment.store')" enctype='multipart/form-data'> <div class="form-group"> <label></label> <textarea name="body" required class="form-control" rows="10" placeholder="コメント">{{ old('body') }}</textarea> </div> <div class="form-group"> <label for="image">画像登録</label> <input type="file" class="form-control-file" name="image" id="image"> </div> <button type="submit" class="btn btn-primary text-light btn-block">回答する</button> </form> </div>

試したこと

Routeメソッドの確認

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

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

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

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

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

m.ts10806

2021/07/15 20:30

ルーティング全て提示してもらえますか? あと、ブラウザで表示した際のaction属性の属性値は想定通りですか?
guest

回答1

0

ベストアンサー

PHP

1 2{{ route('comment.store') }} 3

投稿2021/07/16 03:40

kai0310

総合スコア2070

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

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

Yukimulla

2021/07/19 01:27

お二人ともコメントいただきありがとうございます。 {{}}を追記してルーティングを見直したところ、The POST method is not supported for this route.のエラーは解消することができました。 また別のエラーが出てくるようになりましたが、ひとまずこちらの問題は解決とさせていただきます。 どうもありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問