2016-12-16 4 views
3

У меня есть метод followning в моем контроллере:маршрут не определена ошибка в Laravel, даже если маршрут определяются

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

При нажатии на ссылку, я хочу, что метод должен быть вызван, поэтому я следующий на мой взгляд, файл:

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

Кроме того, у меня есть следующие настройки маршрута:

Route::get('/showQualityResult', '[email protected]'); 

Но Хавин г ниже строки кода:

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

does't действительно работает, я получаю следующее сообщение об ошибке в FRONTEND:

enter image description here

Теперь, как я могу решить эту проблему, и почему я получение этой ошибки маршрута не определено, хотя я определил маршрут?

ответ

6

route() помощник использует имя маршрута для создания URL, так что вы должны использовать его как это:

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

и задать имя для маршрута:

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

Или:

Route::get('/showQualityResult', '[email protected]')->name('quality-result.show'); 

Функция маршрута создает URL-адрес для дал названный маршрут

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

Если вы не хотите использовать имена маршрутов, использовать url() вместо route()

+0

спасибо ... но с помощью метода 'url()' я не могу передать параметры правильно? –

+1

@AlexanderSolonik он может, вы можете увидеть пример, щелкнув ссылку 'url()' в моем ответе. Другое дело, что вы используете сеанс для хранения данных. В этом случае вам не нужно передавать его нигде. Вы можете просто получить его с помощью 'session ('quality-data')' в методе контроллера. –

0

В моем случае я просто сделал глупую ошибку.

Далее в моем коде у меня был еще один именованный маршрут (правильно названный с уникальным именем), но идентичный путь к тому, который был Laravel, мне не удалось найти.

Быстрое обновление пути, исправленное.

Смежные вопросы