Forms 使用Symfony2的站点范围的表单?

Forms 使用Symfony2的站点范围的表单?,forms,csrf,symfony,Forms,Csrf,Symfony,我在所有网站页面上都有简单的表单:用户名、密码、[登录] 我尝试使用简单的HTML,但我 The CSRF token is invalid. Please try to resubmit the form 在每个动作中形成形式的想法似乎都不好。执行站点范围表单的最佳实践是什么?缺少CSRF令牌。在模板中(我假设您使用了细枝)。您可以告诉Symfony2使用以下命令渲染所有剩余的表单元素: {{ form_rest(form) }} 或者,您可以仅渲染CSRF令牌: {{ form_row(

我在所有网站页面上都有简单的表单:用户名、密码、[登录]

我尝试使用简单的HTML,但我

The CSRF token is invalid. Please try to resubmit the form

在每个动作中形成形式的想法似乎都不好。执行站点范围表单的最佳实践是什么?

缺少CSRF令牌。在模板中(我假设您使用了细枝)。您可以告诉Symfony2使用以下命令渲染所有剩余的表单元素:

{{ form_rest(form) }}
或者,您可以仅渲染CSRF令牌:

{{ form_row(form._token) }}

你必须这样做:

首先,我想您有一些基本模板文件,如layout.html.twig和所有其他页面扩展它。例如:

// Resources/views/layout.html.twig

<doc ... bla blah>
<title>My site</title>
...(js, css)...
<body>
    <div id="top">
        {% render url("site_wide_form") %}
    </div>


{% block content %}
{% endblock content %}
</body>
和模板文件:

// site_wide_form.html.twig

<form action="{{ path("site_wide_form") }}" method="post">
{{ form_widget(form) }}
</form>
//site\u wide\u form.html.twig
{{form_widget(form)}
就这样。阅读本文以了解呈现标记:

变量“form”不存在于第74行的…html.twig中,我理解这是因为我制作纯html,而不是创建表单。但在每个动作中创建表单对象似乎是错误的。
// site_wide_form.html.twig

<form action="{{ path("site_wide_form") }}" method="post">
{{ form_widget(form) }}
</form>