该路由不支持POST方法。支持的方法:GET,HEAD,PUT,PATCH,DELETE

时间:2019-12-18 17:18:59

标签: laravel laravel-5 controller routes laravel-blade

此路由不支持POST方法。支持的方法:GET,HEAD,PUT,PATCH,DELETE。 我试图做所有的解决方案,但仍然是同样的问题 web.php

<?php


Route::resource('tasks','TasksController');

查看任务/创建

<form action="{{route('tasks.store') }}" method="POST" class="form-horizontal">
                    @csrf
                    <!-- Task Name -->
                    <div class="form-group">
                        <label for="task-name" class="col-sm-3 control-label">Task</label>
                        <div class="col-sm-6">
                            <input type="text" name="name" id="task-name" class="form-control" value="" required>
                        </div>
                    </div>

                    <!-- Add Task Button -->
                    <div class="form-group">
                        <div class="col-sm-offset-3 col-sm-6">
                            <button type="submit" class="btn btn-default">
                                <i class="fa fa-btn fa-plus"></i>Add Task
                            </button>
                        </div>
                    </div>
                </form>

控制器任务控制器

  public function index()
        {

            $tasks=Task::all();
            return view('tasks.index',compact('tasks'));
        }

        public function create()
        {
            //
            return view('tasks.create');
        }

        public function store(Request $request)
        {

            $this->validate($request,[
            'name'=>'required|max:20'
            ]);
            //Create Tasks
            $task=new Task;
            $task->name=$request->input('name');
            $task->save();
            return redirect('/tasks')->with('success','Task Created');
        }

帮我,我不知道有什么问题     谢谢

1 个答案:

答案 0 :(得分:-1)

尝试将此操作web.php

Route::resource('tasks','TasksController')->names([
    'store' => 'tasks.store'
]);

或添加

Route::post('/tasks/store', 'TasksController@store')->name('tasks.store');

希望这会有所帮助