由于某种原因,我无法生成我为表单构建器指定的路由。
如您所见,我指定generateUrl('/ login'),但是,在表单构建期间,错误“无法生成指定路由的URL”/ login“,因为此类路由不存在。”。
使用注释在下面声明路由/登录,这似乎是什么问题?我的App控制器设置为使用注释。
/**
* @Route("/")
* @Template()
*/
public function indexAction() {
$user = new User();
$form = $this->createFormBuilder($user)
->setAction($this->generateUrl('/login'))
->setMethod('POST')
->add('username', 'text')
->add('password', 'text')
->add('submit', 'submit')
->getForm();
$content = $this->renderView('ThisBundleBundle:Login:index.html.twig', array(
'form' => $form->createView(),
));
return new Response($content);
}
/**
* @Route("/login")
* @Template()
*/
public function loginAction() {
}
app中的routing.yml:
bill_ThisBundleBundle: 资源:“@ ThisBundleBundle / Controller /” type:annotation 前缀:/
答案 0 :(得分:4)
您必须指定路线名称,如
@Route("/", name="some_route_name")
然后生成网址$this->generateUrl('some_route_name')
。或者使用命令php app/console router:debug
找到您的路线并查看内部路线名称。