Laravel 4 基于路线Laravel的包含

Laravel 4 基于路线Laravel的包含,laravel-4,blade,Laravel 4,Blade,我如何包含一个基于哪个路由类别的文件,该类别与带Laravel的刀片一起使用?我基本上是在视图模板的子导航部分尝试这样做: app/views/layouts/default.blade.php @if (Route::resource() == 'tasks') @include('navs.task') @elseif (Route::resource() == 'projs') @include('navs.proj') @elseif (Route::resource()

我如何包含一个基于哪个路由类别的文件,该类别与带Laravel的刀片一起使用?我基本上是在视图模板的子导航部分尝试这样做:

app/views/layouts/default.blade.php

@if (Route::resource() == 'tasks')
    @include('navs.task')
@elseif (Route::resource() == 'projs')
    @include('navs.proj')
@elseif (Route::resource() == 'miscs')
    @include('navs.misc')
@else 
    @include('navs.info')
@endif

但这会引发错误,未定义的类常量“resource”

您正在查找Route::currentRouteName

@if (Route::currentRouteName() == 'tasks')
    @include('navs.task')
@elseif (Route::currentRouteName() == 'proj')
    @include('navs.proj')
@elseif (Route::currentRouteName() == 'misc')
    @include('navs.misc')
@else 
    @include('navs.info')
@endif

迈克尔p:你的回答让我找到了正确的答案。Route::currentRouteName返回的“task.index”或“proj.create”过于精细。Route::current->getUri有效

@if (Route::current()->getUri() == 'tasks')
    @include('nav.task')
@elseif (Route::current()->getUri() == 'projs')
    @include('nav.proj')
@elseif (Route::current()->getUri() == 'miscs')
    @include('nav.misc')
@else 
    @include('nav.info')
@endif

很晚了,但我认为使用Request::is是一种更简单的方法

@if (Route::is('tasks'))
   @include('navs.task')
@elseif (Route::is('projs'))
   @include('nav.proj')
@elseif (Route::is('miscs'))
    @include('nav.misc')
@else 
    @include('nav.info')
@endif
此外,这也是if else的许多使用开关案例