0

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ます。

7URL の は、更新idしようとしている特定のレコードのレコードです。

4

1 に答える 1