Bonjour,

Voila je rencontre un petit problème avec mon code.

Ce que je fais

J'ai créer une méthode dans un controleur

Voici le code du controleur

class CoursController extends AbstractController
{
    /**
     * @Route("/cours", name="cours")
     */
    public function index()
    {
        return $this->render('formation/cours/index.html.twig');
    }
}

Voici le code de la vue qui appelle la méthode index() de la classe CoursController

            <a class="col-md-2" href="{{path('cours')}}">
                <img src="{{ asset('img/course.png') }}" class="img-thumbnail img-responsive" style="height: 120px !important;"><br>
                Cours
            </a>

Ce que je veux

Je souhaite appeler la méthode index() de la classe CoursController depuis un fichier twig par le nom de la route.
Pour afficher la page formation/cours/index.html.twig

Ce que j'obtiens

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

Symfony me dis que la route n'existe pas, alors que pour moi elle existe bel et bien.

Comment puis-je résoudre ce problème ?

5 réponses


olive140
Réponse acceptée

Bonjour,
Tu as vider le cache ?

Bonjour,

Est-ce que dans ton contrôleur tu as bien :

use Symfony\Component\Routing\Annotation\Route;

?

Devdeb22
Auteur

Oui j'ai bien ce use

Mais je ne comprends toujours pas pourquoi ça ne fonctionne pas

Et si dans la console tu tapes :

php bin/console debug:router

Qu'est-ce que ça donne ? Et est-ce que les routes fonctionnent dans tes autres controleurs ?

Devdeb22
Auteur

Quand je tape php bin/console debug:router

Voilà ce que ça me donne

cours ANY ANY ANY /cours

Et oui les autres routes de mon applications fonctionnent

C'est depuis que qu'essaye de rajouter une nouvelle route.