在laravel update上缺少参数

时间:2014-05-07 15:59:28

标签: laravel laravel-4

我正在使用laravel 4.我创建了一个如下所示的编辑表单:

 {{ Form::model($v, array('route' => array('insur_docs.update', $v->id),'method' => 'PUT','class'=>'form-horizontal')) }}

并更新路线

Route::put('insur_docs/update', array('as' => 'insur_docs.update', 'uses' => 'Insur_DocController@update')); 

它显示的问题是:

  

缺少Insur_DocController :: update()

的参数1

2 个答案:

答案 0 :(得分:2)

问题在于您的路线,您需要向其添加/{id}。这是我做过的测试:

class Insur extends Eloquent {

}

Route::put('insur_docs/update/{id}', array('as' => 'insur_docs.update', 'uses' => 'Insur_DocController@update'));

Route::get('test', function() {

    $v = new Insur;

    $v->id = 1;

    return Form::model($v, array('route' => array('insur_docs.update', $v->id),'method' => 'PUT','class'=>'form-horizontal'));

});

生成的表单打开:

<form method="POST" action="http://localhost/insur_docs/update/1" accept-charset="UTF-8" class="form-horizontal"><input name="_method" type="hidden" value="PUT">
<input name="_token" type="hidden" value="V0TP6LbCjO1kGF6LCLObEi6hofbW5ZgNo5Kz7nQ3">

答案 1 :(得分:1)

Route::put('insur_docs/update/{id}', array('as' => 'insur_docs.update', 'uses' => 'Insur_DocController@update'));