PUT方法不发送消息

时间:2019-03-26 12:09:28

标签: laravel

如有必要,我也会检查控制器,尽管看起来  我说该方法出了点问题,因为在输出中它显示出“无消息”错误,仅此而已

基于我的观点和PUT方法

{!! Form::model($cattle_inventory, array('route'=> 
['cattle_inventories.update',$cattle_inventory->id,'method'=>'PUT']))!!}
                        <div class="form-group">
                            {!! Form::label('cow_name','Podaj Nazwę krowy') !!} 
                            {!! Form::text('cow_name',null, ['class'=>'form-control']) !!}
                        </div>

路线

      Route::resource('cattle_inventories','Cattle_inventoryController')->middleware('verified');

2 个答案:

答案 0 :(得分:1)

documentation指出:

  

HTML表单不支持PUT,PATCH或DELETE操作。因此,在定义从HTML表单调用的PUT,PATCH或DELETE路由时,您将需要向表单添加一个隐藏的_method字段。通过_method字段发送的值将用作HTTP请求方法:

<form action="/foo/bar" method="POST">
    @method('PUT')
    @csrf
</form>

因此,您需要像这样调整表格。 @method('PUT')只需生成以下HTML:

<input type="hidden" name="_method" value="PUT">

答案 1 :(得分:0)

您可以与Laravel集体一起尝试

{!! Form::open(['route'=>['your.route', $id]]) !!}

    // laravel <=5.5
    {!! Form::hidden('_method', 'PUT') !!} //or {{ method_field('PUT') }}

    //laravel >=5.6
    @method('PUT')

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

Laravel集体Form model binding

{{ Form::model($cattle_inventory, ['route' => ['cattle_inventories.update', $cattle_inventory->id]]) }}