doudu3961 2014-08-07 12:12
浏览 24
已采纳

Symfony2为每个列表项呈现表单

How could I achieve a form for each list item using csrf and validation in symfony way?

I have a Task entity, which has comments property with a relation OneToMany. So I want to list all tasks and include a hidden comment form for every task. Usually I pass generated forms from controller to template, but how to create them dinamically in template?

{% for task in tasks %}
<taskinfo>
<task comment form>
{% endfor %}
  • 写回答

2条回答 默认 最新

  • dongmi1663 2014-08-11 10:33
    关注

    Solved using this way:

    In controller:

        $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
        ));
    

    An then comment box near every Task box in view:

        ...task info...
        {% for task in tasks %}
            <div class="comment-box">
                 {{ form(forms[task.id]) }}
            </div>
        {% endfor %}
    

    P.S. I'm using collapsible panels to show/hide each task.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 matlab中的双层数值积分
  • ¥50 服务器打印水晶报表问题
  • ¥15 Delphi image图片缩放问题
  • ¥30 gradle环境下javafx项目如何使用druid连接池
  • ¥15 服务器打印水晶报表问题
  • ¥15 初学者用plt报错,求解答
  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题