You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel分类目录应用审核广告无报错但返回404问题求助

问题排查与解决方案

核心问题1:Form标签属性拼写错误

你编写的两个审核表单错误将method提交方法属性写为了action,同时出现了两个action属性:

<!-- 错误写法 -->
<form action="post" action="{{route('revisor.accept', $ad->id)}}">

浏览器读取标签时会优先识别第一个action属性,导致表单直接提交到/post路径,完全没有命中你定义的审核路由,这就是你看到404、请求没有进入控制器的直接原因。

修复方案:将第一个action改为method即可:

<!-- 正确写法 -->
<form method="post" action="{{route('revisor.accept', $ad->id)}}">
<form method="post" action="{{route('revisor.reject', $ad->id)}}">

核心问题2:控制器方法未接收路由参数

你定义的路由包含{id}路径参数,但是accept和reject方法没有声明接收该参数,修复表单问题后仍然会抛出参数缺失错误。

修复方案:给两个方法补充$id入参:

public function accept($id){
  return $this->setAccepted($id,true);
}
public function reject($id){
    return $this->setAccepted($id,false);
}

可选优化建议

建议将setAccepted方法中的find改为findOrFail,避免传入不存在的广告ID时抛出500错误:

public function setAccepted($id,$value){
    $ad=Ad::findOrFail($id);
    $ad->is_accepted=$value;
    $ad->save();
    return redirect(route('revisor'));
}

内容的提问来源于stack exchange,提问作者gianmarco varrone

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 17:27:02