Bonjour,

Voila je rencontre un petit problème avec mon code sous Symfony 4.
Je test actuellement la documentation de symfony.

Ce que je fais :

Mon fichier BlogController.php

...
/**
     * @Route("/", name="home")
     */
    public function home() {
        return $this->render('blog/home.html.twig');
    }

    /**
     * @Route("/blog/{id}", name="blog_show", requirements={"id"="\d+"})
     */
    public function show(Article $article) {
        return $this->render('blog/show.html.twig', [
            'article' => $article
        ]);
    }

    /***around    * @Route("/blog/{new}", name="blog_create")around    */around    public function create () {around        return $this->render('blog/create.html.twig');   around    }**

Mon fichier create.html.twig

{% extends 'base.html.twig' %}

{% block body %}

    <h1>Création d'un article !</h1>

{% endblock %}

Mon fichier base.html.twig

...
<div class="collapse navbar-collapse" id="navbarColor01">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item">
        <a class="nav-link" href="{{ path('blog') }}">Articles</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="{{ path('blog_create') }}">Articles</a>
      </li>
      ...

Cela me retourne une erreur :

An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "blog_create" as such route does not exist.").

En gros ma route blog_create n'existe pas alors qu'elle est bien présente..
il n'arrive pas à la trouver.
Lorsque je test avec le path (blog) ça marche si je met le path(blog_create) cela me retourne une erreur
J'ai bien sur inversé et mis ma fonction create avant celle de ma fonction show et ça me retourne la même erreur.
J'ai suivi la documentation de symfony 4.
Est ce que quelqu'un aurait une explication à cette erreur ?

Merci d'avance pour vos retours

3 réponses


Chris33
Auteur
Réponse acceptée

Mon problème est résolu il suffit d'enlever les {} au niveau de la route, j'ai fait une erreur d'apréciation de la documentation.

Chris33
Auteur

/**

  • @Route("/blog/{new}", name="blog_create")
    **/
    public function create () {
    return $this->render('blog/create.html.twig');
    }

    petit erreur d'insertion de code

l'erreur persiste chez moi