#routes #laravel-8
Вопрос:
Я новичок в Laravel (я использую Laravel 8 с sail на ПК с Windows), и я уже довольно давно пытаюсь это понять и не могу найти объяснения.
В моем web.php файл, я попытался определить следующий маршрут:
Route::get('/reservations', [ReservationController::class, 'create'])->name('reservation.create');
Однако, когда я ссылаюсь на него на лезвии с:
<a href="{{ route('reservation.create', $book->id) }}" class="btn btn-outline-primary">Reserve</a>
Я получаю исключение «Маршрут не найден/определен».
Но когда я изменю маршрут на:
Route::get('/reservations', 'ReservationController@create')->name('reservation.create');
Это прекрасно работает.
Я использую первый метод для других маршрутов, и они отлично работают, например:
Route::get('/books/search', [BookController::class, 'search'])->name('books.search');
Может кто-нибудь, пожалуйста, сказать мне, чего мне здесь не хватает?
(дополнительно) У меня есть
use AppHttpControllersReservationController;
в web.php файл,
namespace AppHttpControllers;
в контроллере и
protected $namespace = 'App\Http\Controllers';
в RouteServiceProvider.php файл, и я выполнил все команды artisan/composer для очистки маршрутов и кэшей и т. Д., Которые я нашел в других вопросах переполнения стека.
(обратите внимание, что, хотя я решил проблему с помощью 2-го метода, несоответствие в web.php файл меня раздражает)
с уважением