Метод уничтожения контроллера ресурса не работает - PullRequest
0 голосов
/ 11 февраля 2020

У меня в приложении CRUD есть кнопка, которая выглядит следующим образом:

<a class="btn btn-danger" onclick="return confirm('Are you sure?')" href="{{route('topic.destroy', $topic->id)}}">

Когда пользователь нажимает кнопку, он загружает метод show в мой контроллер ресурсов, а не метод destroy.

Мои маршруты:

Route::resource('/main_topic', 'MainTopicController');
Route::resource('/topic', 'TopicController');
Route::resource('/post', 'PostController');

Почему не используется правильный метод контроллера?

1 Ответ

3 голосов
/ 11 февраля 2020

Любое действие HTTP, указывающее на маршруты POST, PUT или DELETE, которые определены в файле веб-маршрутов, должно включать поле токена CSRF. В противном случае запрос будет отклонен. Подробнее о защите CSRF вы можете прочитать в документации CSRF :

<form method="POST" action="{{route('topic.destroy', $topic->id)}}">
    @csrf
    @method('Delete')
    <button type="submit" class="btn btn-danger" onclick="return confirm('Are you sure?')">Delete</button>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...