LaravelにてCRUDアプリを製作しているのですが、編集機能をつける段階のところでエラーが出てしまいました。
The PUT method is not supported for this route. Supported methods: POST.
そこで、https://readouble.com/laravel/8.x/ja/routing.htmlや
https://qiita.com/takeshisakuma/items/8d33b1f10b273f0050b1等、参考にして原因を探ってみましたが、自分が未熟なため原因がわからず解決ができていない状態です。
ぜひ、原因がわかる方がいらっしゃればご教示いただけると幸いです。よろしくお願いいたします。
story/edit.blade.php
laravel
1<form method="POST" action="{{route('story.update',['id' =>$story->id])}}"> 2 @method('put') 3 @csrf 4 <div class="form-group"> 5 <label for="name">ニックネーム</label> 6 <input type="text" name="name" value="{{old('name',$story->name)}}" class="form-control" id="title" placeholder="Enter Title"> 7 </div>
routes/web.php
laravel
1Route::group(['prefix'=>'story'], function () { 2 Route::get('index', 'StoryController@index')->name('story.index'); 3 Route::get('create', 'StoryController@create')->name('story.create'); 4 Route::post('store', 'StoryController@store')->name('story.store'); 5 Route::get('show/{id}', 'StoryController@show')->name('story.show'); 6 Route::get('edit/{id}', 'StoryController@edit')->name('story.edit'); 7 Route::post('update/{id}', 'StoryController@update')->name('story.update'); 8});
Controllers/StoryController.php
laravel
1 public function edit($id) 2 { 3 $story=Story::find($id); 4 5 return view('story.edit', compact('story')); 6 } 7 8 9 public function update(Request $request, Story $story) 10 { 11 $inputs=$request->validate([ 12 'name'=>'required|max:255', 13 'univ'=>'required|max:255', 14 'facu'=>'required|max:255', 15 'school_name'=>'required|max:255', 16 'way'=>'required', 17 'univlife'=>'required' 18 ]); 19 20 21 $story->name=$request->name; 22 $story->univ=$request->univ; 23 $story->facu=$request->facu; 24 $story->year=$request->year; 25 $story->graduate=$request->graduate; 26 $story->pref=$request->pref; 27 $story->school_name=$request->school_name; 28 $story->way=$request->way; 29 $story->univlife=$request->univlife; 30 $story->user_id=auth()->user()->id; 31 32 $story->save(); 33 34 return redirect('story/index'); 35 }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。