如何使用参数重定向 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');
我无法使用参数重定向其他 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');