如何使用csrf和symfony方式验证每个列表项的表单?
我有一个Task实体,它具有与OneToMany关系的comments属性。所以我想列出所有任务,并为每个任务包含一个隐藏的评论表。通常我将生成的表单从控制器传递到模板,但是如何在模板中以动态方式创建它们?
{% for task in tasks %}
<taskinfo>
<task comment form>
{% endfor %}
答案 0 :(得分:0)
答案 1 :(得分:0)
解决:
在控制器:
$forms = array();
foreach($tasks as $task) {
$entity = new TaskComment();
$forms[$task -> getId()] = $this ->createTaskCommentForm($entity, $task -> getId());
}
return $this->render('Bundle:blah:index.html.twig', array(
....
'forms' => $forms
));
视图中每个任务框附近的评论框:
...task info...
{% for task in tasks %}
<div class="comment-box">
{{ form(forms[task.id]) }}
</div>
{% endfor %}
P.S。我正在使用可折叠面板来显示/隐藏每项任务。