laravel 拉拉维尔|表单未提交到操作中给定的路由

j0pj023g  于 2023-03-04  发布在  其他
关注(0)|答案(1)|浏览(85)

我正在尝试使用以下操作将表单提交到正确的路由:

<form action="{{ route('document.destroy', $d->id) }}" method="POST" style="display: inline;">
{{ method_field('DELETE') }}
{{ csrf_field() }}
<span type="text" value="" class="btn btn-success" readonly="readonly">
     {{ $d->file_name }} ({{ $d->file_size }}) <i class="fa fa-times"></i>
</span>
<button class="btn btn-xs btn-default" type="submit" data-toggle="tooltip" title="Verwijder" onclick="return confirm('Weet je zeker dat je dit document wilt verwijderen')"><i class="fa fa-times"></i></button>
</form>

但是它连接到了不同的控制器。我做错了什么?
我还在routes文件中指定了控制器:Route::resource('document', 'DocumentController');
要添加更多上下文:这个视图是从一个不同的控制器传递过来的,而不是我想用于DELETE函数的控制器。

6uxekuva

6uxekuva1#

对于deleting,您可以尝试以下操作

<form action="{{action('DocumentController@destroy', $d->id)}}" method="post">
                            {{csrf_field()}}
                            <input name="_method" type="hidden" value="DELETE">
                            <button class="btn btn-danger" type="submit">Delete</button>
                            </form>

Destroy method

public function destroy($id)
        {
            $doc= Document::find($id);
            $doc->delete();

            return redirect('/home')->with('success', 'Document has been deleted!!');
        }

相关问题