Bonjour,
Je suis en train de suivre le tutoriel Symfony 4 par l'exemple sauf que je le fais sous Symfony 5 et j'ai un problème au niveau des URL générées.
Ce que je fais
J'ai écrit la route en annotation
/**
* @Route("/biens/{slug}-{id}", name="property.show", requirements={"slug": "[a-z0-9\-]*"})
* @param Property $property
* @return Response
*/
public function show(Property $property, string $slug): Response
{
return $this->render('property/show.html.twig', [
'property' => $property,
'current_menu' => 'properties'
]);
}
Et j'ai ce lien sur la page d'accueil comme expliqué dans la vidéo 3 (découverte de Doctrine)
<a href="{{ path('property.show', {id: property.id, slug: property.slug}) }}">{{ property.slug }}</a>
Ce que je veux
Le lien devrait renvoyer vers /biens/mon-premier-bien-1
Ce que j'obtiens
L'URL générée est /mon-premier-bien/biens/-1
. Je n'arrive pas à comprendre d'où vient le problème. J'ai fait un debug:router
et un debug:matches
et les routes sont ok. J'accède bien à la page si j'écris manuellement /biens/mon-premier-bien-1
. J'ai vérifié si le {{ property.slug }}
existait bien et il s'affiche correctement. J'ai généré l'URL à partir du fichier routes.yaml et c'est le même problème. L'URL s'affiche dans le désordre : /{slug}/biens/{id}
.
Est-ce que quelqu'un a une idée de ce qui ne va pas ?