Laravel ошибка - метод публикации не разрешен при обновлении (с @method ('put)) - PullRequest
0 голосов
/ 07 августа 2020

У меня странная проблема с laravel. Таким образом, эта ошибка появляется после того, как я нажимаю кнопку редактирования

The POST method is not supported for this route. Supported methods: GET, HEAD.

И когда я обновляю sh страницу, она просто показывает мне форму, которая должна отображаться. Значит, код правильный ... верно?

Edit.Blade:

<form action="{{ route('categories.update', $category->slug) }}" method="post">
    @csrf
    @method('put')

    <div class="form-group">
        <label for="name">Category</label>
        <input type="text" name="name" class="form-control" value="{{ $category->name }}">
    </div>

    <div class="form-group">
        <button type="submit" name="btn-updateCategory" class="btn btn-block btn-success">Update category</button>
    </div>
</form>

Эта часть $ category-> slug не является проблемой, я уверен ..:)

Также, когда я обновляю страницу sh и ошибка исчезает, мой контроллер выполняет свою работу (категория обновлений).

Это также произошло в другом проекте, и я подумал, что это моя проблема, и поскольку я не знал, как ее решить, и не нашел никаких ошибок в коде, начал этот проект с нуля и закончил его, не столкнувшись с этой проблемой.

EDIT

Здесь это мой маршрут: список https://prnt.sc/tvjw2i

А вот и мой веб. php

Route::group(['prefix' => 'admin', 'middleware' => ['auth', 'admin']], function(){
   Route::resource('/posts', 'PostsController');
   Route::resource('/categories', 'CategoriesController');
});

Проблема решена: Никто, включая меня, не понял, что мы смотрим не на ту форму. Поскольку ошибка появляется, когда я пытаюсь выполнить go на странице обновления, а не после него, ошибка была на index.blade. php не на edit.blade. php.

1 Ответ

0 голосов
/ 07 августа 2020

Это проблема с маршрутом, покажите нам свой веб-файл. php. Если вы не регистрируете маршрут как ресурс, он должен выглядеть так:

//route for categories update

Route::post(categories/{id}/update,’CategoriesController@update’);

Или, если вы используете контроллер ресурсов

route::resource(‘categories’,CategoriesController’);

Пожалуйста, проверьте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...