@extends('layouts.app')
@section('content')
<ul>
@foreach ($posts as $post)
<li>
<a href="{{route('posts.show', $post->id)}}">
{{$post->title}}
</a>
 
<a href="{{route('posts.edit', $post->id)}}">
Edit
</a>
 
<a href="{{route('posts.destroy', $post->id)}}">
Delete
</a>
@endforeach
</ul>
@endsection
我是laravel的新手,正在学习中。在上面的代码中,我在数据库中创建了一个简单的无序帖子列表。每个帖子旁边是一个编辑和删除链接。编辑链接可以正常工作,并在posts控制器中调用edit方法。但是删除链接无效。我认为它运行show方法而不是posts控制器中的destroy方法。为什么会这样呢?
更清楚地说,我已经某种程度上解决了foreach指令内的波纹管问题
<form action="/posts/{{$post->id}}" method="post">
@csrf
<input type="hidden" name="_method" value=" DELETE">
<input type="submit" name="delete" value="Delete" id="">
</form>
但是为什么要首先这样做。我了解我们使用表单的原因,因为html表单不支持DELETE方法,因此我不得不添加隐藏的输入。但是,为什么超链接标记不起作用。这是路线列表:
答案 0 :(得分:0)
默认情况下,链接始终执行GET方法。
您可以使用一些JavaScript模仿DELETE方法的行为。