php - 资源路由调用错误的方法
问题描述
我用“资源”创建了路线。当我尝试使用删除方法时,它总是会显示方法。
- 路线清单
路由调用
<a class="btn btn-danger" href="{{ route('languages.destroy', ['language' => $language->id]) }}">Delete</a>
删除方法
public function destroy($language){ $lang = Language::findOrFail($language); $lang->delete(); session()->flash('flash_message', 'The language has been removed!'); return redirect(route('languages.index')); }
那么如何解决呢?谢谢!
解决方案
因为它使用 GET 方法,因为您没有使用 form 删除。
route('languages.destroy',['language' => $language->id])
上面的路由只生成 url 。所以如果你正在使用
<a href="{{route('languages.destroy',['language' => $language->id])}}">delete</a>
然后它被视为get方法。所以你必须使用
<form method="POST" action="{{ route('languages.destroy',['language' => $language->id]) }}">
@csrf
@method("delete")
<button type="submit">Delete</button>
</form>
推荐阅读
- java - SSL 握手失败 - 找不到合适的证书 - 在没有客户端身份验证的情况下继续
- python - 删除熊猫中的一列
- .net - 无法联机连接到 SQL Server 数据库
- excel - VBA Script round 函数不显示 Excel 中的结果
- datetime - 尝试执行 ZonedDateTime.parse 时出现 DateTimeParseException
- excel - 基于 ActiveCell 在另一个工作表中清除内容
- kubernetes - 为什么许多官方 helm chart 在 Values.yaml 中包含 Passwords/Credentials?
- angular - 使用 ngOnChanges 检测两次分配相同值的属性
- c# - 是否可以将幂函数实现为 lambda 表达式?
- automated-tests - 当断言找到一个元素时使用 .exists 有必要吗?