2016-07-04 18 views
1

我',我必須設置一個href路徑,但我得到這個消息上symfony的設置上樹枝HREF路徑與註釋航線使用註釋路線

An exception has been thrown during the rendering of a template ("Unable to generate a URL for the named route "crear" as such route does not exist.") in menu.html.twig at line 20. 

這是在第20行

menu.html.twig
<li><a href="{{ path('crear') }}">Crear</a></li> 

,這是控制器

<?php 

namespace UserBundle\Controller; 

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; 
use Symfony\Component\HttpFoundation\Response; 
use UserBundle\Entity\User; 
use \DateTime; 

class DefaultController extends Controller 
{ 
    /** 
    * @Route("/") 
    */ 
    public function indexAction() 
    { 
     /*$user = new User(); 
     $user->setUsername("usuario2"); 
     $user->setFirstName("aaa"); 
     $user->setLastName("bb"); 
     $user->setEmail("[email protected]"); 
     $user->setPassword("123456"); 
     $user->setRole('ROLE_ADMIN'); 
     $user->setIsActive(true); 
     $user->setCreatedAt(new DateTime()); 
     $user->setUpdatedAt(new DateTime()); 
     $em = $this->getDoctrine()->getManager(); 
     $em->persist($user); 
     $em->flush();*/ 
     return $this->render('UserBundle:Default:index.html.twig'); 
     //return new Response(phpinfo()); 
    } 
    /** 
    *@Route("/ver") 
    */ 
    public function viewAction(){ 
     $repository = $this->getDoctrine()->getRepository('UserBundle:User'); 
     $users = $repository->findAll(); 
     //return new Response($user->getEmail()); 
     return $this->render('UserBundle:User:view.html.twig',array('users'=>$users)); 
    } 

    /** 
    *@Route("/crear") 
    */ 
    public function createAction(){ 
     return new Response("Crear"); 
    } 
} 

和routing.yml中

user: 
    resource: "@UserBundle/Controller/" 
    type:  annotation 
    prefix: /

app: 
    resource: "@AppBundle/Controller/" 
    type:  annotation 

我必須激活某些航線或我必須做什麼?

回答

2

你需要爲了路由指定一個名稱通過樹枝產生,所以更改控制器註解如下:

/** 
*@Route("/crear", name="crear") 
*/ 
public function createAction(){ 
    return new Response("Crear"); 
}