Laravel 8注册页面开发报错:Route [store]未定义
解决Laravel 8中Route [store] not defined的问题
嘿,我一眼就看出问题所在啦!你在表单里用了{{ route('store') }}来指定提交地址,但你的POST路由并没有设置对应的名称,所以Laravel找不到名为store的路由,就抛出了这个错误。
下面给你几个简单的解决办法,任选其一就行:
方法1:给POST路由添加名称
修改你的路由文件(routes/web.php),给处理提交的POST路由加上->name('store'),顺便也给GET路由补个名称(因为你在store方法里用了redirect()->route('index')):
Route::get('/', [App\Http\Controllers\StudentController::class, 'index'])->name('index'); Route::post('index', [App\Http\Controllers\StudentController::class, 'store'])->name('store');
修改后,表单里的route('store')就能正确匹配到对应路由了。
方法2:直接使用路由的URL作为表单action
如果不想给路由命名,也可以直接用路由对应的URL来写表单的action:
<form action="{{ url('index') }}" method="POST">
这样也能正常把请求提交到你的store方法。
方法3:使用action助手指向控制器方法
还有一种更直观的方式,直接指定控制器和对应的处理方法,不用关心路由名称或URL:
<form action="{{ action([App\Http\Controllers\StudentController::class, 'store']) }}" method="POST">
选其中一种修改后,你的表单提交应该就能正常工作啦!
内容的提问来源于stack exchange,提问作者hari dran
相关产品推荐
相关产品推荐

