以下是无法正常工作的操作,实体已创建,但我总是渲染AileronsFrontendBundle:默认值:observation.html.twig
如代码所示,此createAction应呈现我的主页模板,但模板呈现效果不佳。
/**
* Creates a new Observation entity.
*
* @Route("/observation/new", name="observation_create")
* @Method("POST")
* @Template("AileronsFrontendBundle:Default:observation.html.twig")
*/
public function createAction(Request $request) {
$entity = new Observation();
$form = $this->createForm(new ObservationType(), $entity);
$form->bind($request);
if ($form->isValid()) {
$entity->getObservator()->setIp($request->getClientIp());
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$em->flush();
$msg = array(
'type'=>'success',
'title'=>'Merci !',
'text'=>'Votre observation à bien été enregistré, merci pour votre participation !',
);
$this->redirect($this->generateUrl('home', array('msg'=>$msg)));
}
return array(
'entity' => $entity,
'form' => $form->createView(),
);
注意重定向我试过这个:
$this->render('AileronsFrontendBundle:Default:index.html.twig', array('msg'=>$msg));
它也不起作用。
这是我的索引动作
/**
* @Route("/", name="home")
* @Template()
*/
public function indexAction() {
return array();
}
答案 0 :(得分:1)
您需要返回您的重定向。
return $this->redirect($this->generateUrl('home', array('msg'=>$msg)));
操作始终需要返回响应对象。 返回渲染的Twig文件的示例:
return $this->render('AcmeTestBundle:Test:test.html.twig', array());