Konstantin18ko
@Konstantin18ko
Стоматолог

Почему просит GET метод при обновлении записи?

Есть форма:
{!!Form::open(['method' => 'put'], ['route' => ['passport.update', $patient->id, $passport->id]])!!}
                        <div class="form-group panel-body row">
                            <h3>Паспортные данные</h3>
                            <div class="col-xs-12">
                                {{Form::label('produced', 'Кем выдан')}}
                                {{Form::textarea('produced', $passport->produced, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-6">
                                {{Form::label('produced_day', 'Дата выдачи')}}
                                {{Form::date('produced_day', $passport->produced_day, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-6">
                                {{Form::label('subdivision', 'Код одразделения')}}
                                {{Form::text('subdivision', $passport->subdivision, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-6">
                                {{Form::label('series', 'Серия')}}
                                {{Form::text('series', $passport->series, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-6">
                                {{Form::label('number', 'Номер')}}
                                {{Form::text('number', $passport->number, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-4">
                                {{Form::label('surname', 'Имя')}}
                                {{Form::text('surname', $patient->surname, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-4">
                                {{Form::label('first_name', 'Фамилия')}}
                                {{Form::text('first_name', $passport->first_name, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-4">
                                {{Form::label('second_name', 'Отчество')}}
                                {{Form::text('second_name', $passport->second_name, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-6">
                                {{Form::label('sex', 'Пол')}}
                                {{Form::select('sex', ['Женский' => 'ЖЕН.', 'Мужской' => 'МУЖ.'], null, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-6">
                                {{Form::label('birthday', 'Дата рождения')}}
                                {{Form::date('birthday', $patient->birthday, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-12">
                                {{Form::label('city_birth', 'Место рождения')}}
                                {{Form::text('city_birth', $passport->city_birth, ['class' => 'form-control'])}}
                            </div>
                            <div class="col-xs-12">
                                {{Form::label('address_registration', 'Адрес регистрации')}}
                                {{Form::textarea('address_registration', $passport->address_registration, ['class' => 'form-control'])}}
                            </div>
                        </div>
                        {{Form::submit('Редактировать', ['class' => 'btn btn-warning btn-sm'])}}
                        {!! Form::close() !!}


При нажатии на кнопку подтвердить передает ошибку.
(1/1) MethodNotAllowedHttpException
in RouteCollection.php (line 251)
at RouteCollection->methodNotAllowed(array('GET', 'HEAD'))
in RouteCollection.php (line 238)
at RouteCollection->getRouteForMethods(object(Request), array('GET', 'HEAD'))
in RouteCollection.php (line 176)


Он просит чтоб поставили get метод.
При постановке put, форма становиться post.
Да, с get работает.
  • Вопрос задан
  • 208 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Arik
В роутере разрешили?
Ответ написан
Melkij
@Melkij
PostgreSQL DBA
Обратите внимание, что в HTML нет method PUT.
https://www.w3.org/TR/html5/forms.html#attr-fs-method
The invalid value default for these attributes is the GET state.


То есть прежде чем искать ошибку на бекенде - посмотрите сначала, какой именно запрос отправляет клиент.
Ответ написан
Комментировать
ajaxtelamonid
@ajaxtelamonid
Laravel
"HTML forms do not support PUT, PATCH or DELETE actions. So, when defining PUT, PATCH or DELETE routes that are called from an HTML form, you will need to add a hidden _method field to the form. "
https://laravel.com/docs/5.4/routing#form-method-s...
Ответ написан
Комментировать
@anlamas
Route::put('/passport/{passport}/update', 'PassportController@update');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы