Laravel调用@show而不是@destroy

时间:2017-06-13 17:19:52

标签: php laravel rest

我在Laravel的路线问题(第4.2节)..

查看:

password

路线:

{{ Form::open(['method' => 'DELETE', 'route' => ['admin.users.destroy', $user->user_id]]) }}
      <td><button type="submit" style="...">Delete</button></td>
{{ Form::close() }}

控制器:

Route::resource('admin/users', 'App\Controllers\Admin\UserIndexController');

单击按钮时,虽然它始终打印出来&#34;显示&#34;。这是为什么?

2 个答案:

答案 0 :(得分:1)

HTML表单无法发出PUTPATCHDELETE请求,因此您需要使用Laravel进行欺骗。

将此添加到您的表单...

<input type="hidden" name="_method" value="delete" />

我认为这通常不适用于较新版本的Laravel,因为表单构建器已从核心中删除,现在由LaravelCollective管理,它将自动处理添加此输入。

https://laravel.com/docs/4.2/html#opening-a-form

答案 1 :(得分:0)

编辑答案:

Routes.php

Route::resource('admin/users', 'UserIndexController');

{{ Form::open(['method' => 'DELETE', 'route' => ['admin.users.destroy', $user->user_id]]) }}
      <td><button type="submit" style="...">Delete</button></td>
{{ Form::close() }}

public function show() {
        echo "show";
    }

    public function destroy() {
        echo 'destroy';
    }

我正在&#34;销毁&#34;作为输出。