Laravel アプリケーションでレコードを更新しようとすると、間違った URL が実行され、エラー 404 が発生します。この機能は、ローカルで開発していたときは正常に機能していましたが、現在は one.com サーバーでホストされているため、機能しなくなりました。
edit.blade.php
<form method="POST" action="gins/{{ $gins->id }}">
@method('PATCH')
@csrf
<div class="field">
<label class="label" for="gin">Gin</label>
<div class="control">
<input type="text" class="input" name="gin"
placeholder="Gin" value="{{ $gins->gin }}">
</div>
</div>
<div class="field">
<label class="label" for="size">Bottle Size(ml)</label>
<div class="control">
<input type="text" class="input" name="size"
placeholder="Size (ml)" value="{{ $gins->size }}">
</div>
</div>
<div class="field">
<label class="label" for="price">Price(£)</label>
<div class="control">
<input type="text" class="input" name="price"
placeholder="Price of Gin" value="{{ $gins->price }}">
</div>
</div>
<div class="field">
<div class="control">
<button type="submit" class="button is-success">Update Record
</button>
</div>
</div>
</form>
ルート
Route::patch('gins/{gin}', 'PostsController@update')->middleware('auth');
Auth::routes();
コントローラ
public function update(Request $request, $id)
{
$gins = \App\Gins::findOrFail($id);
$gins->gin = request('gin');
$gins->size = request('size');
$gins->price = request('price');
$gins->save();
return redirect('gins');
}
編集ページのURLは ですLaravel/gins/7/edit
。送信ボタンをクリックすると、Laravel/gins/7/gins/7
にリダイレクトする必要があるときに URL が返されLaravel/gins/7
ます。
7
URL の は、更新id
しようとしている特定のレコードのレコードです。