MethodNotAllow在尝试进行更新时。

时间:2016-07-12 19:28:15

标签: php laravel post

我在Laravel 5.2.3中使用PHPstorm,目前正在尝试通过重用我的创建页面中的表单来更新人员信息。我已经从laracast教程中跟踪了T的所有内容,但出于某种原因,当我点击提交更新时,我收到了MethodNotAllowed错误。

路线



Route::group(['middleware' => ['web']], function()
{
    ...

    Route::get('create','ResourceController@create');

    Route::post('create', 'ResourceController@store');

    Route::resource('pages', 'ResourceController');
});




控制器



class ResourceController extends Controller
{
    ...

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

    public function store(Requests\CreateNewContactRequest $request)
    {
        ContactPerson::create($request->all());

        return redirect('resource');
    }

    public function edit($id)
    {
       $user = ContactPerson::findOrFail($id);

       return view('pages.edit')->with(compact('user'));
    }

    public function update($id, Request $request)
    {
        $user = ContactPerson::findOrFail($id);

        $user->update($request->all());

        return redirect('pages.resource');
    }
}




修改视图



@extends('app')

@section('content')

    {!! Form::model($user, ['method' => 'PATCH', 'action' => ['ResourceController@update', $user->id]]) !!}

        <div class="form">
            {!! Form::label('first', 'First Name: ') !!}
            {!! Form::text('First_Name', null, ['class' => 'form']) !!}
        </div>

        <div class="form">
            {!! Form::label('last', 'Last Name: ') !!}
            {!! Form::text('Last_Name', null, ['class' => 'form']) !!}
        </div>
    
      ...
    
    {!! Form::close() !!}
&#13;
&#13;
&#13;

查看来源

它表明它是一个POST方法,laravel欺骗它作为PATCH。 view page source

错误 error

1 个答案:

答案 0 :(得分:1)

它会在'route' => ['pages.update', $user->id] 代码中生成错误的操作。尝试使用:

'action' => ['ResourceController@update', $user->id]

而不是:

select a.col1, a.col2, a.col3, b.col1, b.col2
from tableA as a
inner join tableB as b on a.b_id = b.id 

有效吗?。