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

Ale*_*nik 3 php laravel laravel-5

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

public function showQualityResult($qualityData) {
        return $qualityData;
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

Route::get('/showQualityResult', 'QualityCheckController@showQualityResult');
Run Code Online (Sandbox Code Playgroud)

但是有以下代码行:

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

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

在此输入图像描述

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

Ale*_*nin 6

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

route('quality-result.show', session('quality-data'));
Run Code Online (Sandbox Code Playgroud)

并为路线设置名称:

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

要么:

Route::get('/showQualityResult', 'QualityCheckController@showQualityResult')->name('quality-result.show');
Run Code Online (Sandbox Code Playgroud)

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

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

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