尝试更新用户表会生成MethodNotAllowedHttpException,Laravel-4

时间:2014-06-24 18:22:52

标签: php forms laravel-4

UsersController:

public function update($id)
    {
        if( ! $this->user->isValid(Input::all()))
             {
                 return Redirect::back()->withInput()->withErrors($this->user->errors);
             }

        $user = $this->user->find($id);

        $user->save();

        return Redirect::route('users.index');
    }

路线:

Route::resource('users','UsersController');

型号:

protected $table = 'users'

edit.blade.php:

{{ Form::model($user, array('route'=>array('users.update','$user'=>'id'))) }}

我注意到这不会产生" PUT"行动。页面来源:

    <form method="POST" action="https://zocios.com/users/id" accept-charset="UTF-8"><input name="_token" type="hidden" value="...">

点击“更新用户”按钮可以获取:

Exception \ MethodNotAllowedHttpException

问题&#34; $ user-&gt; save();&#34;?还有别的我做错了?谢谢!

1 个答案:

答案 0 :(得分:1)

您需要指定方法:

{{ Form::model($user, array('method' => 'put', 'route'=>array('users.update','$user'=>'id'))) }}

除了GETPOST之外,没有其他方法可以接受(尽管有规格),因此框架可以在_method形式中识别隐藏输入以使其成为可能工作