繁体   English   中英

laravel 7 破坏路线不起作用,它将我重定向到显示路线

[英]laravel 7 destroy route not working , it redirect me to the show route

当我尝试删除用户时,它会将我重定向到用户配置文件( show 方法),它没有显示任何错误,但它的行为就像我要求使用 show 方法

路线

Route::resource('/users', 'UsersController');

破坏方法的链接

 <a href="{{ route('users.destroy',$user->id) }}">delete</>

controller 中的销毁方法

 public function destroy($id)
        {
            $user = User::find($id);
            $user->delete();
            return redirect('/users')->with('success','Utilisateur est supprimé');
        }

我尝试从资源路由中排除destroy方法并单独创建它,但它不起作用

使用<a>标记您正在发送一个获取请求。 所以它可以用来获取类似于 show route 的路由:

<a href="{{ route('users.show',$user->id) }}">show</>

对于删除,请改用<form> ,输入名为_method且值为deletecsrf字段:

<form method="POST" action="{{ route('users.destroy',$user->id) }}">
    {{ csrf_field() }}
    {{ method_field('delete') }}
    <button type="submit">delete</button> 
</form>

您可以在文档中阅读更多内容:
表单方法欺骗
资源控制器

销毁方法需要“删除”请求方法,不能用

<a href="{{ route('users.destroy',$user->id) }}">delete</a>

so use this instead

<form method="POST" action="{{ route('users.destroy',$user->id) }}">
    @csrf
    @method('delete')
    <button type="submit">delete</button> 
</form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM