Symfony – An exception has been thrown during the rendering of a template

Seguramente nos de este error a muchos de los que empezamos con Symfony y usamos de referencia el libro de desarrollo ágil con Symfony.

An exception has been thrown during the rendering of a template («No route found for «GET Default:listaCiudades»») in «OfertaBundle:Default:portada.html.twig».

[3/3] Twig_Error_Runtime: An exception has been thrown during the rendering of a template («No route found for «GET Default:listaCiudades»») in «OfertaBundle:Default:portada.html.twig»


[2/3] NotFoundHttpException: No route found for «GET Default:listaCiudades»


[1/3] ResourceNotFoundException:


este error nos indica que no encuentra la vista de listaCiudades, en realidad el problema esta en que lo busca donde no debe, esta buscándolo dentro del Bundle de Oferta, y claro, esta en Ciudades….

Esto es debido a que en el libro nos viene este código:
<li>{% render «CiudadBundle:Default:listaCiudades» 
                        with {‘ciudad’: ciudadSeleccionada } %}</li>
el cual debemos poner en la plantilla del frontend, pero esto no es valido para versiones de Symfony superiores a la 2.1, versión para la cual esta escrita la versión mas actual a día de hoy del libro; para versiones superiores debemos poner este otro código:
<li>{{ render (controller(«CiudadBundle:Default:listaCiudades» , { ‘ciudad’: ciudadSeleccionada })) }}</li>

PD: el libro lo podéis encontrar en: http://symfony.es/libro/ cuesta 10€, esta en perfecto castellano, son mas de 600 paginas, y por lo general esta bien, aunque contiene algunos errores de este tipo.

PD2: este código esta probado para la versión 2.2.1 de Symfony.