繁体   English   中英

即使已定义路径,也会在laravel中路由未定义的错误

[英]Route not defined error in laravel , even though route is defined

我的控制器中有以下方法:

public function showQualityResult($qualityData) {
        return $qualityData;
}

单击链接时,我希望调用该方法,所以我在视图文件中有以下内容:

<a href="{{ route('showQualityResult' , Session::get('quality-data')) }}">Submited Quality Check</a>

另外,我有以下路线设置:

Route::get('/showQualityResult', 'QualityCheckController@showQualityResult');

但是有以下代码行:

<a href="{{ route('showQualityResult' , Session::get('quality-data')) }}">Submited Quality Check</a>

真的不行,我在frontEnd中得到以下错误:

在此输入图像描述

现在我怎么能解决这个问题,为什么我得到Route未定义的错误,即使我已经定义了路由?

route()帮助器使用路由名来构建URL,因此你需要像这样使用它:

route('quality-result.show', session('quality-data'));

并为路线设置名称:

Route::get('/showQualityResult', ['as' => 'quality-result.show', 'uses' => 'QualityCheckController@showQualityResult']);

要么:

Route::get('/showQualityResult', 'QualityCheckController@showQualityResult')->name('quality-result.show');

route函数为给定的命名路由生成URL

https://laravel.com/docs/5.3/routing#named-routes

如果您不想使用路由名称,请使用url()而不是route()

route()帮助程序查找命名路由,而不是路径。

https://laravel.com/docs/5.3/routing#named-routes

Route::get('/showQualityResult', 'QualityCheckController@showQualityResult')
    ->name('showQualityResult');

应该为你解决问题。

就我而言,我只是犯了一个愚蠢的错误。

在我的代码中,我有另一个命名路径(用一个唯一的名称正确命名),但是与Laravel一个相同的路径告诉我它无法找到。

快速更新修复它的路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM