обновить метод в виде HTML в Laravel - PullRequest
0 голосов
/ 18 сентября 2018

Я пытаюсь обновить ввод, используя html-форму в laravel:

 <form  action="{!! route('users.update',['id' => $users->id]) !!}" method="post">

            <div class="form-group row">
                <label for="colFormLabelLg" class="col-sm-3 col-form-label col-form-label-lg">customer_name</label>
                <div class="col-sm-10">
                    <input  value="{{$name}}" class="form-control form-control-lg"  placeholder="col-form-label-lg">
                </div>
  <button type="submit" class="btn btn-primary btn-lg"  > Edit</button>


            </form>

Все в контроллере работает отлично, однако на странице просмотра я получил эту ошибку:

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException Нет сообщения

Что я делаю не так?

Ответы [ 3 ]

0 голосов
/ 18 сентября 2018

Вам необходимо подделать метод, который вы используете для публикации данных.Поскольку HTML-формы не могут отправлять PUT, PATCH, or DELETE запросов, вам необходимо добавить скрытое поле _method, чтобы подделать эти HTTP-глаголы.Директива @method Blade может создать для вас это поле следующим образом:

<form action="/foo/bar" method="POST">
    @method('PUT') //add this to your form
</form>

или

<form action="/foo/bar" method="POST">
        {{ method_field('patch')}} //add this to your form
</form>
0 голосов
/ 18 сентября 2018

Вам нужно поместить @csrf и @method('PATCH') внутри формы.

0 голосов
/ 18 сентября 2018

Пожалуйста, исправьте ваш маршрут как POST как:

Route::post('update/{id}', 'YourController@update')->name('users.update');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...