In my navigation-dropdown.blade.php (from Laravel Jetstream), I have:
<x-jet-responsive-nav-link href="{{ route('dashboard') }}" :active="request()->routeIs('dashboard')">
{{ __('Dashboard') }}
</x-jet-responsive-nav-link>
<x-jet-responsive-nav-link href="/purchases" :active="request()->routeIs('purchases.index')">
{{ __('Purchases') }}
</x-jet-responsive-nav-link>
<x-jet-responsive-nav-link href="/debug" :active="request()->routeIs('debug')">
{{ __('Debug') }}
</x-jet-responsive-nav-link>
In my routes/web.php, I have:
Route::middleware(['auth:sanctum', 'verified'])->resource('purchases','App\Http\Controllers\PurchaseController')->name('*', 'purchases');
Route::middleware(['auth:sanctum', 'verified'])->get('/debug', [DebugController::class, 'index'])->name('debug');
I visit /purchases and :isActive does not set, but when I visit /debug, it does. In other words, appending ->name('debug') to the route adds an underline to the 'Debug' when you are on the /debug view as expected.
However, appending ->name('purchases') to the resource route causes an exception about not enough parameters. Calling ->name('*', 'purchases') throws no exception but does nothing (there is no underline on this navigation item).
Whilst on the /debug view, you see:
Whilst on the /purchases view, you see no underline:
How do I fix this? I have also tried:
<x-jet-responsive-nav-link href="/purchases" :active="request()->routeIs('purchases')">
{{ __('Purchases') }}
</x-jet-responsive-nav-link>

