该路由不支持GET方法。支持的方法:POST。插入/存储

时间:2019-12-12 17:45:13

标签: php laravel post routes

我的插入(存储)页面不断出现此错误。它说

  

此路由不支持GET方法。支持的方法:POST。

当我去/category/admin/insert

时会发生

我已经尝试命名我的路线,但是它并不能解决任何问题。

这是我的路线:

Route::prefix('category')->group(function () {
    Route::post('admin/manage', 'CategoryController@destroy');
    Route::get('admin/manage', 'CategoryController@index');
    Route::post('admin/insert', 'CategoryController@store');
    Route::get('admin/edit/{id}', 'CategoryController@edit');
    Route::post('admin/update', 'CategoryController@update');
});

这是我的观点(.blade.php

<div class="card-body">
  <form action="{{ url('category/admin/insert') }}" method="POST" enctype="multipart/form-data">
    {{csrf_field()}}
    <div class="form-group">
      <input type="text" name="category_name" class="form-control" value="" placeholder="Category Name">
    </div>
    <button class="form-control btn btn-primary">Insert</button>
    @if($errors->any())
      <div class="alert alert-danger mt-3">
        <ul>
          @foreach($errors->all() as $e)
            <li>{{$e}}</li>
          @endforeach
        </ul>
      </div>
    @endif
    @if(Session::get('success'))
      <div class="alert alert-success mt-3">
        <strong>{{Session::get('success')}}</strong>
      </div>
    @endif
  </form>
</div>

这是我的Controller

public function store(Request $request)
{
    $request->validate([
        'category_name' => 'required|min:5'
    ]);

    $categories = new Category();
    $categories->name = $request->get('category_name');
    $categories->save();

    return redirect('/category/admin/manage')->with('success', 'Success Insert');
}

1 个答案:

答案 0 :(得分:1)

找到了解决方案。不知道它是正确的还是xD,但是它可以工作。.

我让其他控制器:

public function create()
{
    $categories = Category::all();
    return view('category.insert_category')->with('categories', $categories);
}

并添加此路线:

Route::get('admin/insert', 'CategoryController@create');