PUT方法不发送消息

问题描述 投票:0回答:2

如果有必要,我也会检查控制器,虽然在我看来该方法有问题,因为在输出它显示我“没有消息”错误,仅此而已

是我的观点和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

      Route::resource('cattle_inventories','Cattle_inventoryController')->middleware('verified');
laravel
2个回答
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">

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]]) }}
© www.soinside.com 2019 - 2024. All rights reserved.