我正在重新注册我的网站,并制作了一个包含电子邮件,密码等的表格:
<form method="POST" class="etc" action="{{ route('register/blade/create') }}">
...
</form>
然后,当然,我在表单中的“提交”按钮会从 web.php 中的路由中提交它:
Route::post('/register/basic/create', 'RegisterController@create');
但是,每次加载此页面时,都会出现以下错误:
我尝试追随那些在栈溢出上发布过类似问题的人,创建了一个命名路由,但这似乎也没有成功。任何帮助表示赞赏。
答案 0 :(得分:3)
有时,当您有两条具有相同 uri 但具有不同的回调和具有不同的路由名称
的路由时,会发生上述错误例如
Route::post('update','PermissionController@update')->name('update_permission');`
Route::post('update','RoleController@update')->name('update_role');
以上路由更新了不同的资源,但仍将返回错误的路由update_permission
未定义或路由update_role
未定义。
所以最好的做法是在每个路线中使用不同的uri,以防止发生此类冲突
Route::post('/role_permission/update','RoleController@update')->name('update_role');`
Route::post('/permission/update','PermissionController@update')->name('update_permission');
答案 1 :(得分:2)
使用命名路由route
时,必须在routes/web.php
文件中指定路由名称。像这样
routes / web.php
Route::post('/register/basic/create', 'RegisterController@create')->name('register');
刀片文件中
<form method="POST" class="etc" action="{{ route('register') }}">
...
</form>
查看详细信息
答案 2 :(得分:0)
如果仍然无法正常工作并且您仔细检查了每件事,那么您可能已经兑现了路线,因此路线很清晰
<块引用>php artisan route:clear