删除操作在 laravel 中不起作用?

Delete action is not working in laravel?

我有一个表单,里面有删除按钮。

 <form method="post" id="delform" action="{{ url('/templates/delete',[$template->template_id]) }}">
    {{ method_field('DELETE') }}
  {{ csrf_field() }}

 <input type="submit" class="btn btn-danger" id="del" value="delete>

  </form>

然后在我的路线中 web.php:

Route::delete('/templates/delete/{id}','TemplateController@delete');

当我点击删除时出现这个错误:

我在做什么wong请帮忙?提前致谢

我在这里添加了我的composer.json:

{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
    "php": ">=5.6.4",
    "laravel/framework": "5.4.*",
    "laravel/tinker": "~1.0",
    "maatwebsite/excel": "~2.1.0"        "rmccue/requests": ">=1.0"    },
"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~5.7"
},
"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\": "app/"
    }
},
"autoload-dev": {
    "psr-4": {
        "Tests\": "tests/"
    }
},
"scripts": {
    "post-root-package-install": [
        "php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "php artisan key:generate"
    ],
    "post-install-cmd": [
        "Illuminate\Foundation\ComposerScripts::postInstall",
        "php artisan optimize"
    ],
    "post-update-cmd": [
        "Illuminate\Foundation\ComposerScripts::postUpdate",
        "php artisan optimize"
    ]
},
"config": {
    "preferred-install": "dist",
    "sort-packages": true
}
}

这里是控制台日志:

您忘记了双引号以关闭输入提交的值

<input type="submit" ... value="delete">

和 composer json 包后的逗号:

"maatwebsite/excel": "~2.1.0",

最后 HTML 表单不支持 PUT、PATCH 或 DELETE 操作。因此,在定义从 HTML 表单调用的 PUT、PATCH 或 DELETE 路由时,您需要向表单添加一个隐藏的 _method 字段。与 _method 字段一起发送的值将用作 HTTP 请求方法。

<input type="hidden" name="_method" value="DELETE">

您可以使用 method_field 助手生成 _method 输入:

{{ method_field('DELETE') }}

Laravel routes documentation

看看rest conventions