我已经用路由调整了控制器名称并发送了post方法的表单,但是没有用,我从模式中发送了
我已经添加了{{method_field('patch')}},但仍然无法正常工作
这是从视图来的:
<form action="{{route('edit kode', 'test')}}" method="post">
{{ method_field('patch') }}
{{ csrf_field() }}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<i class="material-icons">clear</i>
</button>
<h5 class="modal-title">Edit Data</h5>
</div>
<div class="modal-body">
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label class="bmd-label-floating">Kode</label>
<input type="hidden" class="form-control" id="modalidkode">
<input type="text" class="form-control" id="modalkode" readonly>
</div>
</div>
<div class="col-sm-12">
<div class="form-group">
<label class="bmd-label-floating">Nama Kode</label>
<input type="text" class="form-control" id="modalnamakode" required>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal"
style="margin-right: 10px">Batal
</button>
<button type="submit" class="btn btn-info">Simpan Perubahan</button>
</div>
控制器
public function editCode(Request $request){
dd($request->all());
$edCode="05.01";
return redirect()->back()->withSuccess($edCode. " changed");
}
路线
Route::post('/pengaturan/edit', 'AllCodeController@editCode')->name('edit kode');
答案 0 :(得分:0)
您希望该请求是您路线中的POST
请求,但是您的表单正在提交PATCH
请求(因为表单顶部的method_field('patch')
) 。要么删除method_field()
调用,要么将Route::post(...)
更改为Route::patch(...)
。
您可以在the Laravel documentation中了解有关表单方法欺骗的更多信息:
HTML表单不支持
PUT
,PATCH
或DELETE
操作。因此,在定义从HTML表单调用的PUT
,PATCH
或DELETE
路由时,您需要向表单添加一个隐藏的_method
字段。通过_method
字段发送的值将用作HTTP请求方法:
<form action="/foo/bar" method="POST">
<input type="hidden" name="_method" value="PUT">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</form>