laravel - laravel中html形式的更新方法
问题描述
我正在尝试在 laravel 中使用 html 表单更新输入:
<form action="{!! route('users.update',['id' => $users->id]) !!}" method="post">
<div class="form-group row">
<label for="colFormLabelLg" class="col-sm-3 col-form-label col-form-label-lg">customer_name</label>
<div class="col-sm-10">
<input value="{{$name}}" class="form-control form-control-lg" placeholder="col-form-label-lg">
</div>
<button type="submit" class="btn btn-primary btn-lg" > Edit</button>
</form>
控制器中的所有内容都可以正常工作,但是在视图页面中我收到了这个错误:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 无消息
我究竟做错了什么?
解决方案
您需要在用于发布数据时欺骗该方法。由于 HTML 表单无法发出PUT, PATCH, or DELETE
请求,因此您需要添加一个隐藏的 _method 字段来欺骗这些 HTTP 动词。@method Blade 指令可以像这样为你创建这个字段:
<form action="/foo/bar" method="POST">
@method('PUT') //add this to your form
</form>
或者
<form action="/foo/bar" method="POST">
{{ method_field('patch')}} //add this to your form
</form>
推荐阅读
- android - Androidx:工具栏/操作栏图标颜色
- python - 如何获取 Chrome 搜索框的结果?
- java - Java FXML 错误:应用程序启动方法中的异常
- algorithm - 0/1 背包和有条件的彩色物品
- azerothcore - 当所有标志都被选中时,哪些标志的值为-1,哪些没有?
- html - 在 github 页面中嵌入视频不显示任何内容
- r - 反应式传单地图无法识别第二个调色板
- python - 在不使用 RE 的情况下计算字符串列表中的音节 Python
- windows - 如何在 pycharm 上安装 openCV
- php - 在数组php mysql中查找和使用重复元素