Laravel 5.3路线模板显示路线未定义

时间:2016-08-27 19:04:12

标签: php laravel laravel-5.3

我正在将我的应用程序从laravel 5.2更新到5.3。大多数事情似乎都很好。

但是我不知道发生了什么,但是当我试图在锚标签中定义路线时,它不起作用。我做了类似的事情:

<a href="{{route('backend.pages.index')}}" class="nav-link ">
     <span class="title">All Pages</span>
</a>

显示错误Route [backend.pages.index] not defined.。以下是创建路线的方式。

Route::group(['middleware' => ['web']], function () {
     Route::resource('backend/pages','Backend\PagesController');
});

我有一个名为'mainmenu.blade.php'的模板,其中我使用了这条路线。主要结构通过@include('layouts.backend.backendstructure.mainmenu')调用此主菜单。

是否在laravel 5.3中更改了路由方法?或者我身边有什么错误吗?

谢谢!(推进)

4 个答案:

答案 0 :(得分:6)

这里的问题是

{{route('backend.pages.index')}}

改为使用

<a href="{{route('backend/pages')}}" class="nav-link ">
     <span class="title">All Pages</span>
</a>

路线定义为backend/pages。要返回视图,请在PagesController中添加一个方法并返回该视图。

Route::group(['middleware' => ['web']], function () {
     Route::resource('backend/pages','Backend\PagesController@dummymethod');
});

虚拟方法

public function dummymethod
{
    return view('backend.pages.index');
}

修改

我认为你正在寻找类似的东西

Route::resource('backend/pages','Backend\PagesController', ['names' => ['index' => 'backend.pages.index']]);

检查文档here

答案 1 :(得分:1)

你应该像这样写code

<a href="{{ route('backend/pages')}} " class="nav-link ">
     <span class="title">All Pages</span>
</a>

或者像这样:

<a href="{{ url('backend/pages') }}" class="nav-link ">
     <span class="title">All Pages</span>
</a>

答案 2 :(得分:0)

尝试:

  <a href="/backend/pages" class="nav-link ">
  <span class="title">All Pages</span>
  </a>

https://laravel.com/docs/5.3/routing

答案 3 :(得分:0)

您可以尝试使用URL链接,我可以按照以下方式使用

 <a href="{{URL::to('backend/pages')}}" class="nav-link ">
  <span class="title">All Pages</span>
  </a>