Laravel 6.0 не поддерживает методы DELETE, PUT - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть пакет, который я сделал на Laravel 5.8. Когда я установил его в новый проект с Laravel 6.0, методы DELETE и PUT вернули ошибку.

Метод DELETE не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD, POST.

Когда я писал на composer.json Laravel 5.8 и переустанавливал composer - все работало. Так что проблема в версии.

Также здесь отображаются все мои маршруты.

php artisan route:list

Я использую маршруты ресурсов, например:

Route::resource('langs', 'Sashaef\TranslateProvider\Controllers\LangsController');

Форма

<form id="myForm" action="{{ route('langs.update', [ 'id' => 0 ]) }}"
      method="POST" enctype="multipart/form-data">
    {{ csrf_field() }}
    <input type="hidden" name="_method" value="PUT"/>

1 Ответ

0 голосов
/ 30 сентября 2019

Я почти уверен, что это вызвано тем, как вы вызываете маршрут.

Route::resource('langs', 'xController');

Должен ли генерироваться следующий маршрут обновления

Methods:PUT|PATCH
Uri:    langs/{lang}
Name:   langs.update

Вы можете проверить это, запустив php artisan r:l --name=langs.update

Вы также неправильно это называете

# WRONG WAY
route('langs.update', ['id' => 0])   // yields: /langs?id=0
# RIGHT WAY
route('langs.update', ['lang' => 0]) // yields: /langs/0

Вы можете проверить это в сеансе возни

...