простой маршрут, определенный в Route :: view, выдает ошибку «Маршрут не определен», при определении с использованием Route :: name он работает хорошо - PullRequest
0 голосов
/ 19 октября 2018

Дело очень простое, но я не нашел ссылок на него:

  1. У меня есть клинок \front\about
  2. У меня есть строка в layout.blade.php: <li {{ currentRoute('about') }}><a href="{{route('about')}}">About Us</a></li>

Когда я определяю маршрут в web.routes как

Route::view('/about', 'front.about');

, происходит сбой:

Route [about] not defined. (View: ....\resources\views\front\layout.blade.php) 

Все работаетхорошо, когда я определяю маршрут через

Route::name('about')->get('about',function() { return View::make('front.about');});

За исключением того, что (очевидно) он терпит неудачу на $ php artisan route:cache, так как является закрытием

Unable to prepare route [about] for serialization. Uses Closure.

Пожалуйста, помогите решить дело.

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Алексей.Обратите внимание, что метод route() требует router name в качестве параметра, но на самом деле вы не определили имя маршрутизатора в web.router.вы сделали: Route::view('/about', 'front.about');, у которого нет имени маршрутизатора.

, поэтому должно быть так:

Route::view('/about', 'front.about')->name('about');

или используйте метод url(), для которого вместо параметра требуется slug

a href="{{url('about')}}">About Us</a>
0 голосов
/ 19 октября 2018

Вы должны дать маршруту название:

Route::view('/about', 'front.about')->name('about');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...