Laravel项目出现Route未定义错误,Blade模板调用路由异常
路由未定义错误排查与解决方案
错误原因
路由定义时指定的名称为update,但Blade模板中调用route()生成URL时,使用的是不存在的路由名称update_merchant.update,二者不匹配导致框架无法找到对应路由。
解决方案
两种修复方式任选其一即可:
方式一:修改Blade模板的路由名称
将模板中route()函数的第一个参数改为路由定义的正确名称update:
<form name="merchants_data" id="merchants_data" method="post" action="{{route('update', [$item->merchant_id])}}"> {{ csrf_field() }} {!! method_field('patch') !!} </form>
方式二:修改路由定义的名称
如果希望路由名称更具语义化,可以修改路由的name()参数为模板中使用的update_merchant.update:
Route::patch('/update_merchant/{merchant_id}', 'MerchantsController@update')->name('update_merchant.update');
验证方法
执行以下Artisan命令查看所有已注册的路由及其名称,确认修改后的路由名称是否正确:
php artisan route:list
内容的提问来源于stack exchange,提问作者Nosi Ishmael
相关产品推荐
相关产品推荐

