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;?还有别的我做错了?谢谢!
答案 0 :(得分:1)
您需要指定方法:
{{ Form::model($user, array('method' => 'put', 'route'=>array('users.update','$user'=>'id'))) }}
除了GET
和POST
之外,没有其他方法可以接受(尽管有规格),因此框架可以在_method
形式中识别隐藏输入以使其成为可能工作