如何使用参数重定向 Symfony3 中的其他 URL

How to redirect other URL in Symfony3 with parameter

我无法使用参数重定向其他 URL。在下面的代码中,它显示了 $resultFlg 等于 True 时的错误消息。

消息指出 'Unable to generate a URL for the named route "snsForm" as such route does not exist'。我不明白原因和解决方案。请使用 routing.yml 作为参考。然后,Symfony 版本是 3.0.4-DEV.

src/AppBundle/Controller/UserController.php

/**
 * @Route("/form", name="userForm")
 */
public function newAction(Request $request)
{
     ........
     $resultFlg = $this->existedUserCheck($userId, $password);

     if($resultFlg){
     // failed
         return $this->redirect($this->generateUrl('snsForm'));

     }else{
         $loginResultMessage = 'No registered User Id: ' . $userId;

     }
     .......
}

/**
 * @Route("/snsForm", name="regsiterSnsRoute")
 */
public function registerSnsInfoAction(Request $request)
{
    .......
}

app/config/routing.yml

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

您需要指向路线名称而不是 url。在你的情况下是 'regsiterSnsRoute'

return $this->redirect($this->generateUrl('regsiterSnsRoute'));

您也可以将该行缩短为

return $this->redirectToRoute('regsiterSnsRoute');