Laravel 'Route Not Defined'当路由被明确定义时

vbkedwbf  于 2023-03-31  发布在  其他
关注(0)|答案(5)|浏览(343)

我正在重新注册我的网站,并已采取电子邮件,密码等形式:

<form method="POST" class="etc" action="{{ route('register/blade/create') }}">
...
</form>

当然,表单中的提交按钮会提交它,并从web.php中的路由提交:

Route::post('/register/basic/create', 'RegisterController@create');

但是,每次加载此页面时,都会出现以下错误:

我试着跟随其他有类似问题的人在堆栈溢出上发布,创建一个命名路由,但似乎也没有什么用。

cdmah0mi

cdmah0mi1#

当你使用命名路由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>

详情请访问https://laravel.com/docs/5.6/routing#named-routes

rjjhvcjd

rjjhvcjd2#

有时候,当您有两个路由具有相同的uri但不同的回调和不同的路由名称时,会出现上述错误
举个例子

Route::post('update','PermissionController@update')->name('update_permission');`

Route::post('update','RoleController@update')->name('update_role');

上述路由更新不同的资源,但仍然会返回错误Route update_permission not defined或Route update_role not defined。
因此,最好的办法是在每个路由中使用不同的URI,以防止像这样的冲突

Route::post('/role_permission/update','RoleController@update')->name('update_role');`

Route::post('/permission/update','PermissionController@update')->name('update_permission');
pcww981p

pcww981p3#

可以使用此命令

php artisan optimize
nzk0hqpo

nzk0hqpo4#

有一种可能性,你兑现的路线,所以明确的路线cashe
php工艺路线:透明
如果你在清除缓存后仍然没有找到你的路由,那么删除该路由并用不同的关键字重新写你的路由,希望你能找到问题所在

ep6jt1vc

ep6jt1vc5#

自Laravel 10起,它使用类变量作用域

Route::get('dashboard', [DashboardController::class, 'index'])->name('dashboard');

相关问题