【问题标题】:Form action redirect to another controller Symfony2.8表单动作重定向到另一个控制器 Symfony2.8
【发布时间】:2017-06-15 21:07:41
【问题描述】:

我有一个奇怪的问题。我想将 setAction 设置为重定向到另一个控制器。 我有 2 个用于用户和地址的控制器。在 /{id}/modify 路线上,我们位于用户控制器树枝中,并且生成了以下表单:

        $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。 提前感谢您的回答!干杯!

【问题讨论】:

  • 检查the documentation,你应该使用->setAction($this->generateUrl('target_route_name', ['id' => $id]))
  • 感谢您的帮助!使用了几十种变体,效果很好!

标签: php symfony controller


【解决方案1】:

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

// redirect to a route with parameters
return $this->redirectToRoute('blog_show', array('slug' => 'my-page'));

第一个参数(字符串)是您尝试将表单发送到的路线的名称。否则,您必须使用重定向并使用 generateUrl 来获取具有相同功能但 redirectToUrl 更新更短的 url。

https://symfony.com/doc/current/controller.html

【讨论】:

    猜你喜欢
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 2019-10-17
    相关资源
    最近更新 更多