Symfony2:如何返回发送表单请求的页面

Symfony2:如何返回发送表单请求的页面

问题描述:

I have a link: mysite/productnumber_2.html. On this Site I have a formular in a twig template, the action of this form leads to .../createAssessment.

In my controller I do things like save in a DB.

My question is, how can I go back to the url mysite/productnumber_2.html?

My function in teh controller looks like this:

/**
 *
 * @Route(path = "/createassessment", name="create_assessment", methods = "POST")
 * @param Request $request The Request object
 * @return RedirectResponse
 */
public function createAssessmentAction(Request $request) {
$form = $this->createForm(new AssessmentType());
$form->handleRequest($request);

if ($form->isValid()) {

    $assessment = $form->getData();

    $em = $this->getDoctrine()->getManager();

    $em->persist($assessment);
    $em->flush();

    return $this->redirect( ## WHAT DO I HAVE TO PUT HERE?? ## );
}
}

我有一个链接: mysite / productnumber_2.html code>。 在这个网站上我有一个twig模板中的公式,这个表单的动作导致 ... / createAssessment code>。 p>

在我的控制器中,我做的事情就像 保存在数据库中。 p>

我的问题是,我怎样才能回到网址 mysite / productnumber_2.html code>? p> 我在teh控制器中的功能如下所示: p>

  / ** 
 * 
 * @Route(path =“/ createassessment”,name =“create_assessment”,  methods =“POST”)
 * @param请求$ request Request对象
 * @return RedirectResponse 
 * / 
公共函数createAssessmentAction(Request $ request){
 $ form = $ this-> createForm(new  AssessmentType()); 
 $ form-> handleRequest($ request); 
 
if($ form-> isValid()){
 
 $ assessment = $ form-> getData(); \  n 
 $ em = $ this-> getDoctrine() - > getManager(); 
 
 $ em-> persist($ assessment); 
 $ em-> flush(); 
 
  n返回$ this->重定向(##我必须把它放在这里?##); 
} 
} 
  code>  pre> 
  div>

You could redirect for request referer:

return $this->redirect($request->headers->get('referer'));

Or even better for defined route:

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

where your_route is path to you mysite/productnumber_2.html page.