我当前正在构建一个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:list
打印出路线列表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
答案 0 :(得分:0)
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>