Symfony forms symfony collectiontype数据原型输出不完整,仅呈现空div

Symfony forms symfony collectiontype数据原型输出不完整,仅呈现空div,symfony-forms,symfony,Symfony Forms,Symfony,我有一个用于编辑用户实体的UserType表单。每个用户都有一个权限集合,通过具有的CollectionType进行管理 [ 'entry_type'=>'PermissionType', 'allow_add'=>true, 'prototype'=>true ] 从Doctrine加载用户对象时,权限是正确的,并且在呈现视图时正确显示权限。当我单独呈现权限时,如下所示: {%for R in form.permissions%}

我有一个用于编辑用户实体的UserType表单。每个用户都有一个权限集合,通过具有的CollectionType进行管理

[ 'entry_type'=>'PermissionType', 'allow_add'=>true, 'prototype'=>true ]
从Doctrine加载用户对象时,权限是正确的,并且在呈现视图时正确显示权限。当我单独呈现权限时,如下所示:

                {%for R in form.permissions%}
                {{form_widget(R)}}{{form_label(R)}}{{form_errors(R)}}
                {%endfor%}
我的包含元素的数据属性标记呈现为:

data-prototype="{{form_widget(form.permissions.vars.prototype)|e}}"
但是原型只包含一个空div(但名称正确)

文件规定:

If you render your whole "tags" sub-form at once (e.g. 
form_row(form.tags)), then the prototype is automatically available on 
the outer div as the data-prototype attribute, similar to what you see 
above.
所以我也尝试了这种方法,然后生成的div的dataprototype属性也包含一个标签:

data-prototype="<div><label class="required">__name__label__</label><div id="user_permissions___name__"></div></div>"
为我的测试用例生成的三个PermissionType生成了完美的输出


所以我的问题是:我的原型没有被正确呈现的原因是什么?我有没有发现一只虫子?我还尝试了立即呈现完整表单的案例,与第二个案例相同。

我找到了它,但犯了一个错误。我在PRE_SET_DATA FormEvent中将某些输入元素添加到表单中,因为我想更改标签以反映一些数据。但是,当Symfony生成数据原型时,它调用buildForm,但不设置任何数据。因此得到的空div实际上是非常正确的。直接在buildForm中构建表单解决了这个问题

data-prototype="<div><label class="required">__name__label__</label><div id="user_permissions___name__"></div></div>"