Я уже спрашивал что-то подобное, но не получил ничего, что помогло бы мне. Так что прошу прощения за повторный вопрос..
Сначала я создал форму с кнопкой отправки, которая направляет меня к моему маршруту удаления. В форме был метод «УДАЛИТЬ».
{!! Former::danger_submit('Delete') !!}
{!! Former::horizontal_open()->method('DELETE')->action(action("Test\\TestController@destroythread", $comment->id)) !!}
{!! Former::close() !!}
Это сработало идеально. Это означает, что моя функция контроллера, маршруты и форма не имеют ошибок.
Теперь я решил, что хочу раскрывающийся список. В выпадающем списке должно быть написано: удалить и редактировать. Сосредоточимся на удалении.
Выпадающие ссылки выглядят так:
<ul class="dropdown-menu">
<li><a href="#">Edit</a></li>
<li><a href="#">Delete</a></li></ul> // <- Delete
Конечно, я не могу поместить свою форму Laravel в этот тег <li>. Вот почему я попытался сделать ссылку, которая направляет меня на мой маршрут удаления laravel.
Как это:
<li><a href="{{ route('destroythread', $comment->id) }}">Delete</a></li>
но это не сработало, потому что это дает мне запрос «GET», а не «DELETE».
Ну, теперь я застрял. Мне очень жаль, что я спрашиваю это снова..
Я надеюсь, что кто-то может мне помочь.
Мой маршрут удаления laravel таков:
Route::delete('/show/{id}', ['as' => 'destroythread', 'uses' => 'Test\\TestController@destroythread']);
и моя функция контроллера такова:
public function destroythread($id) {
$comment = Comment::query()->findOrFail($id);
$comment->delete();
return redirect()->back();
}
Мой последний вопрос об этой проблеме не мог мне помочь. Пользователь сказал, что я могу использовать ajax, но я не очень понимаю, как это работает, и мне это совсем не нравится.
Спасибо за любую помощь!
Отредактируйте ответ @Joost:
{!! Former::horizontal_open()->method('DELETE')->action(action("Test\\TestController@destroythread", $comment->id)) !!}
<li><button>Delete</button></li>
{!! Former::close() !!}
сработало, но теперь в моем раскрывающемся списке есть настоящая кнопка ... это выглядит не очень хорошо. Есть ли способ, что там просто будет стоять: Удалить ?