Ларавел - неопределенный маршрут с префиксом - PullRequest
0 голосов
/ 17 апреля 2019

В настоящее время я создаю систему CMS, для которой я создал группу маршрутов, для этой группы указан префикс "cms".Проблема в моем файле menu.blade, где я вызвал маршрут с префиксом в атрибуте HREF гиперссылки и получил следующую ошибку.

Маршрут [cms / welcome] не определен.(Представление: C: \ Bitnami \ wampstack-7.1.27-0 \ apache2 \ htdocs \ nathanreynolds \ resources \ views \ layouts \ CMS \ menu.blade.php)

Я могу посетить маршрутпросто введя URL в верхнюю часть браузера. Однако при вызове маршрута с помощью {{route ('cms / welcome')}} возвращается эта ошибка.

menu.blade.php

<ul id="CMSnav">
 <li><a href="{{route('cms/welcome')}}">Welcome</a></li>
 <li><a href="{{route('cms/about')}}">About</a></li>
 <li><a href="{{route('cms/contact')}}">Contact us</a></li>
</ul>

web.php (маршруты)

/** CMS routes **/
Route::group(['prefix'=>'cms','middleware'=>'auth'],function(){
  Route::get('welcome','cmsController@index');
  Route::put('updateLayouts','cmsController@updateLayouts');
  Route::get('about','cmsController@about');
  Route::get('contact','cmsController@contact');
  //Route::resource('/CMS','cmsController');
});

Распечатка списка маршрутов через php artisan route: список

C:\Bitnami\wampstack-7.1.27-0\apache2\htdocs\nathanreynolds>php artisan route:list
+--------+---------------+-------------------------------------------+-----------------------------------+---------------------------------------------------------------------------+------------------+
| Domain | Method        | URI                                       | Name                              | Action                                                                    | Middleware       |
+--------+---------------+-------------------------------------------+-----------------------------------+---------------------------------------------------------------------------+------------------+
|        | GET|HEAD      | /                                         |                                   | Closure                                                                   | web              |
|        | GET|HEAD      | Blogs                                     | Blogs                             | App\Http\Controllers\pagescontroller@Blogs                                | web,Closure      |
|        | GET|HEAD      | CMS/about                                 |                                   | App\Http\Controllers\cmsController@about                                  | web,auth,Closure |
|        | GET|HEAD      | CMS/contact                               |                                   | App\Http\Controllers\cmsController@contact                                | web,auth,Closure |
|        | PUT           | CMS/updateLayouts                         |                                   | App\Http\Controllers\cmsController@updateLayouts                          | web,auth,Closure |
|        | GET|HEAD      | CMS/welcome                               |                                   | App\Http\Controllers\cmsController@index

1 Ответ

1 голос
/ 17 апреля 2019

Помощник route используется для создания URL-адреса для именованных маршрутов, что не относится к вашему случаю.У вас есть две альтернативы, чтобы выполнить то, что вы пытаетесь сделать:

# 1 Вместо этого используйте url помощник:

<li><a href="{{url('/cms/welcome')}}">Welcome</a></li>

# 2 Вместо этого используйте именованные маршруты.Таким образом, в вашем файле маршрутов маршруты будут названы так:

Route::get('welcome','cmsController@index')->name('cms.welcome');

И тогда вы можете использовать помощник route:

<li><a href="{{route('cms.welcome')}}">Welcome</a></li>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...