Php 表单操作重定向到另一个控制器Symfony2.8

Php 表单操作重定向到另一个控制器Symfony2.8,php,symfony,controller,Php,Symfony,Controller,我有个奇怪的问题。我想将动作设置为窗体以重定向到另一个控制器。 我有2个控制器用于用户和地址。在route/{id}/modify上,我们在users controller twig中,有一个生成的表单: $add=new Address(); $formAddress=$this->createFormBuilder($add) ->setAction($this->redirectToRoute("/{id}/addAddress",

我有个奇怪的问题。我想将动作设置为窗体以重定向到另一个控制器。 我有2个控制器用于用户和地址。在route/{id}/modify上,我们在users controller twig中,有一个生成的表单:

        $add=new Address();
    $formAddress=$this->createFormBuilder($add)
        ->setAction($this->redirectToRoute("/{id}/addAddress",array('id'=>$id)))
        ->add("city","text")
        ->add("street","text")
        ->add("housenumber","text")
        ->add("flatnumber","text")
        ->add("send","submit")
        ->getForm();
提交后,我想被重定向到地址控制器,地址控制器的路由是/{id}/addAddress,在这里处理表单。
提前感谢您的回答!干杯

您的操作不正确。如果使用函数
redirectToRoute
,则需要路由名称

// redirect to a route with parameters
return $this->redirectToRoute('blog_show', array('slug' => 'my-page'));
第一个参数(字符串)是您尝试将表单发送到的路由的名称。否则,您必须使用重定向并使用
generateUrl
获取url,该url的作用相同,但
redirectToUrl
较新且较短


检查,您应该使用
->setAction($this->generateUrl('target\u route\u name',['id'=>$id]))
谢谢您的帮助!使用了几十种变体,效果非常好!