带注释的Symfony2 GenerateUrl

时间:2013-12-07 18:53:25

标签: php symfony

由于某种原因,我无法生成我为表单构建器指定的路由。

如您所见,我指定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     前缀:/

1 个答案:

答案 0 :(得分:4)

您必须指定路线名称,如

@Route("/", name="some_route_name")

然后生成网址$this->generateUrl('some_route_name')。或者使用命令php app/console router:debug找到您的路线并查看内部路线名称。