Symfony:form_widget传入一个变量作为表单字段

时间:2015-08-12 12:00:17

标签: forms symfony

是否可以将变量传递给form_widget()。

我有一些在formBuild中生成的动态表单字段。 我可以检索这些字段的唯一方法是使用form_rest();

每条记录可能有不同的字段,因此我无法手动添加字段。

我已将控制器中的字段名称传递给视图。循环遍历字段名称并尝试创建字段。

见下面的例子

{% for meta_field in meta_fields %}
  {% set attr_field = 'form.'~ meta_field ~ '.metaValue' %}
    {{ attr_field }}
    {{ form_widget(attr_field) }}
  {% endfor %}

错误

An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Argument 1 passed to Symfony\Component\Form\FormRenderer::searchAndRenderBlock() must be an instance of Symfony\Component\Form\FormView, string given, 

1 个答案:

答案 0 :(得分:3)

假设您将表单作为form传递给模板,并且字段名称存储在每个meta_value的{​​{1}}键中,您可以从{{获取表单的字段1}}使用twig meta_field函数,如下所示:

meta_fields