Laravel 5:无法POST来路由资源

Ron*_*nie 6 php laravel laravel-5

我有一个路由资源Route::resource('projects', 'ProjectsController');,当我运行时,route:list我可以看到POST可用.

+--------+----------+--------------------------+------------------+--------------------------------------------------------------+-----------------+
| Domain | Method   | URI                      | Name             | Action                                                       | Middleware      |
+--------+----------+--------------------------+------------------+--------------------------------------------------------------+-----------------+
|        | GET|HEAD | projects                 | projects.index   | App\Http\Controllers\ProjectsController@index                | auth            |
|        | POST     | projects                 | projects.store   | App\Http\Controllers\ProjectsController@store                | auth            |
|        | GET|HEAD | projects/create          | projects.create  | App\Http\Controllers\ProjectsController@create               | auth            |
|        | GET|HEAD | projects/{projects}      | projects.show    | App\Http\Controllers\ProjectsController@show                 | auth            |
|        | PUT      | projects/{projects}      | projects.update  | App\Http\Controllers\ProjectsController@update               | auth            |
|        | PATCH    | projects/{projects}      |                  | App\Http\Controllers\ProjectsController@update               | auth            |
|        | DELETE   | projects/{projects}      | projects.destroy | App\Http\Controllers\ProjectsController@destroy              | auth            |
|        | GET|HEAD | projects/{projects}/edit | projects.edit    | App\Http\Controllers\ProjectsController@edit                 | auth            |
+--------+----------+--------------------------+------------------+--------------------------------------------------------------+-----------------+
Run Code Online (Sandbox Code Playgroud)

当我在/projects/create(显示我的表单)并点击我的提交按钮时,我收到一个错误说:

MethodNotAllowedHttpException in RouteCollection.php line 201:
  at RouteCollection->methodNotAllowed(array('GET', 'HEAD', 'PUT', 'PATCH', 'DELETE')) in RouteCollection.php line 188
Run Code Online (Sandbox Code Playgroud)

这可能是我如何定义我的<form>标签?我没有使用正确的动作吗?

<form method="post" action="">

我也试过了 <form method="post" action="{{ url('projects/store') }}">

对不起,我是拉夫拉的菜鸟!

Zer*_*erp 7

您应该POST访问资源URL,而不是资源/创建.

换句话说,只需确保表单的操作action="/projects"不是action="/projects/create"

编辑:我会把它留在这里,因为它有点相关,因为我最初发布它,但预先警告它是矫枉过正和很多不相关的代码,对于刚开始的人.

例如,这是我的一个站点的刀片片段:

@extends('layouts.master')

@section('title', 'Create a Project')

@section('content')

    <h3>Create a Project</h3>

    <hr/>

    {!! Form::open(['action'=>'ProjectController@store']) !!}

        @include('forms/partials/edit_form', ['submit_button_label' => 'Add Project'])

    {!! Form::close() !!}


    @include('errors.list')

@endsection
Run Code Online (Sandbox Code Playgroud)