メインページでコメントを送信してから、このページにリダイレクトしたい。これは私の行動です:
public function submitcommentAction(Request $request)
{
$user=$this->get('security.context')->getToken()->getUser();
$uid=$user->getId();
$comment=new comment();
//$comment->setCafe();
$form=$this->createFormBuilder($comment)
->add('cafe','hidden')
->add('description','textarea')
->getForm();
if($request->getMethod()=='POST')
{
$form->bind($request);
if($form->isValid())
{
$comment->setCafe($form['cafe']->getData());
$comment->setUser($uid);
$comment->setDescription($form['description']->getData());
$em=$this->getDoctrine()->getEntityManager();
$em->persist($comment);
$em->flush();
// return $this->redirect($this->generateUrl('showcofe'));
var_dump($em);
exit();
}
}
$r='error';
return $this-> render('CafeManagementBundle:Default:simple.html.twig',array('r'=>$r));
}
これは私の小枝です:
<div class="new-comment">
<div class="new-comment-text"> :your comment
<div>
<form id="comment-form" method="post" action={{path('subcomment')}}" {{form_enctype(form1)}}">
<ul class="smallbuttons">
<input type="hidden" id="form_cafe" name="form[cafe]" value="{{cafe.id}}" />
{{form_widget(form1.description)}}
<div style="display:none">{{ form_rest(form1) }}</div>
<p><a id="clickbotton1" href="javascript:document.getElementById('form1').submit()" class="btn_smallorange edit2">submit</a></p>
</ul>
</form>
</div>
</div>
</div>
非表示フィールド(カフェ)をコントローラーに渡す方法がわかりません。さらに、私のコントローラーが正しいかどうか教えてください。