Symfony 表单 form_rest 块无法识别
Symfony Form form_rest block not recognized
我正在为应用程序使用 FosUserBundle。
我正在覆盖里面的注册模板 (app/Resources/FOSUserbundle/views/Registration/register.html.twig
).
register.html.twig
{% extends 'base.html.twig' %}
{% form_theme form '@FOSUser/Form/register_theme.html.twig' %}
{% block body %}
...
{{ form_start(form, {'attr': {'novalidate': 'novalidate'}}) }}
...
{{ form_rest(form) }}
//this is just for testing since form_end contains form_rest
//inside of it if you have a look at form_div_layout.html.twig.
{{ form_end(form) }}
...
{% endblock body %}
并包含一个 form_theme 文件,我在其中更改了 2 个块(与此问题无关)
register_theme.html.twig
{% extends "form_div_layout.html.twig" %}
{% block form_widget_simple %}
//some code here
{% endblock form_widget_simple %}
问题是在 2.8 更新之前一切正常(我仍然不认为这与此有关,但也许我没有看到什么)。
因此,当我尝试使用 form_rest 时,出现以下错误:
An exception has been thrown during the rendering of a template ("Unable to render the form as none of the following blocks exist: "_fos_user_registration_form_rest", "fos_user_registration_rest", "fos_user_registration_rest", "form_rest".") in FOSUserBundle:Registration:register.html.twig at line xx
如果我不使用 form_rest,则 csrf 令牌丢失,我无法完成注册。
如果我只使用 form_end 仍然会产生错误,因为 form_rest 包含在其中。
我假设您有一个自定义表单来添加您自己的字段。我遇到了同样的问题,发现扩展 fosuserbundle 注册表的方式在 sf 2.8 中发生了变化。查看文档:
http://symfony.com/doc/current/bundles/FOSUserBundle/overriding_forms.html
我正在为应用程序使用 FosUserBundle。
我正在覆盖里面的注册模板 (app/Resources/FOSUserbundle/views/Registration/register.html.twig
).
register.html.twig
{% extends 'base.html.twig' %}
{% form_theme form '@FOSUser/Form/register_theme.html.twig' %}
{% block body %}
...
{{ form_start(form, {'attr': {'novalidate': 'novalidate'}}) }}
...
{{ form_rest(form) }}
//this is just for testing since form_end contains form_rest
//inside of it if you have a look at form_div_layout.html.twig.
{{ form_end(form) }}
...
{% endblock body %}
并包含一个 form_theme 文件,我在其中更改了 2 个块(与此问题无关)
register_theme.html.twig
{% extends "form_div_layout.html.twig" %}
{% block form_widget_simple %}
//some code here
{% endblock form_widget_simple %}
问题是在 2.8 更新之前一切正常(我仍然不认为这与此有关,但也许我没有看到什么)。
因此,当我尝试使用 form_rest 时,出现以下错误:
An exception has been thrown during the rendering of a template ("Unable to render the form as none of the following blocks exist: "_fos_user_registration_form_rest", "fos_user_registration_rest", "fos_user_registration_rest", "form_rest".") in FOSUserBundle:Registration:register.html.twig at line xx
如果我不使用 form_rest,则 csrf 令牌丢失,我无法完成注册。 如果我只使用 form_end 仍然会产生错误,因为 form_rest 包含在其中。
我假设您有一个自定义表单来添加您自己的字段。我遇到了同样的问题,发现扩展 fosuserbundle 注册表的方式在 sf 2.8 中发生了变化。查看文档:
http://symfony.com/doc/current/bundles/FOSUserBundle/overriding_forms.html