我已经使用laravel(5.8)资源路由构建了一个典型的Crud系统。
Route::resource('users', 'UserController');
我正在尝试匹配该资源的任何方法,以使链接在菜单中显示为活动状态:
<li class="nav-item
@if(Request::route()->getName() == 'users.index'
|| Request::route()->getName() == 'users.create'
|| Request::route()->getName() == 'users.show'
|| Request::route()->getName() == 'users.*.edit')
active
@endif">
<a href="#">Users</a>
</li>
是否有明确的解决方案?
答案 0 :(得分:1)
您可以使用以下方法实现这一目标。
<li class="nav-item {{ str_is('users.*', Route::currentRouteName()) ? 'active' : '' }}>
<a href="#">Users</a>
</li>
这使用str_is() laravel帮助器来查看字符串是否包含users.
。这是根据当前路线的名称进行检查的。
然后,如果为true,则输出active
,否则为false。
注意::在Laravel 5.8中,默认情况下已删除字符串和数组帮助器。您的代码将需要使用Str
门面。
<li class="nav-item {{ \Str::is('users.*', Route::currentRouteName()) ? 'active' : '' }}>
<a href="#">Users</a>
</li>
答案 1 :(得分:0)
class="{{ str_contains(Route::currentRouteName(), ['roles','users']) ? 'active' : '' }}"