Jestem w trakcie pracy nad parą samouczków dla Laravel 4 i wpadłem w pułapkę, której nie mogę zrozumieć lub zrozumieć, dlaczego jest ona uruchomiona niepoprawnie.Brakujący argument na zamknięcie z opcjonalnym parametrem
Co próbuję zrobić, aby utworzyć trasę, która patrzy na adres URL, a następnie działa logicznie w oparciu o to. Tu jest mój bieżący kod:
Route::get('/books/{genre?}', function($genre)
{
if ($genre == null) return 'Books index.';
return "Books in the {$genre} category.";
});
Więc jeśli adres URL jest http://localhost/books
, strona powinna powrócić „indeks książek.” Jeśli adres URL brzmi: http://localhost/books/mystery
, strona powinna zwrócić "Książki w kategorii tajemnicy".
Jednak otrzymuję komunikat "Brak argumentu 1 dla {zamknięcia}()". Odniosłem się nawet do dokumentacji Laravel i mają swoje parametry sformułowane dokładnie w ten sam sposób. Każda pomoc będzie doceniona.
Dzięki za szybką odpowiedź. Działa jak marzenie. – Triccum
Możesz również podać 'defaults' dla trasy, więc' Route :: get ('books/{genre?}', Function ($ genre) {return $ genre;}) -> defaults ('genre', ' mystery '); ' –
niewłaściwa przyczyna, jeśli gatunek ma wartość null, gatunek będzie miał wartość" Scifi "w ostatniej funkcji. możesz zrozumieć, że "Indeks książek" nigdy nie zostanie pokazany –