我已经有一篇导致这个问题的帖子,但现在我隔离了一个问题,所以最好发布一个新的干净帖子:
Symfony 2.1.3 与 jordillonch/CrudGeneratorBundle
我在一个实体上使用了这个 CrudGenerator,其中我有 2 个需要自动更新的可时间戳字段:我为可时间戳功能安装了 Gedmo。
字段是:
cree_le(英文 created_at):@Gedmo\Timestampable(on="create")
和修改(英文updated_at) - @Gedmo\Timestampable(on="update")
问题是我想自定义表单以仅显示用户要更新的字段。当我使用 {{ form_widget(edit_form) }} 使用未自定义的 edit.html.twig 时,更新正在工作,但 updated_at 的值没有更改,因为旧值与表单一起提交。我尝试了几件事来自定义表单,但我还没有找到解决方案。
此版本的自定义 edit.html.twig 不起作用,因为提交的表单无效:
<form class="well" action="{{ path('employee_update', { 'id': entity.id }) }}" method="post" {{ form_enctype(edit_form) }}>
<input type="hidden" name="_method" value="PUT" />
<div>
{{ form_label(edit_form.nom) }}
{{ form_errors(edit_form.nom) }}
{{ form_widget(edit_form.nom) }}
</div>
<div>
{{ form_label(edit_form.email) }}
{{ form_errors(edit_form.email) }}
{{ form_widget(edit_form.email) }}
</div>
<div>
{{ form_label(edit_form.telephone, 'Téléphone') }}
{{ form_errors(edit_form.telephone) }}
{{ form_widget(edit_form.telephone) }}
</div>
<div>
{{ form_label(edit_form.actif) }}
{{ form_errors(edit_form.actif) }}
{{ form_widget(edit_form.actif) }}
</div>
<input type="hidden" id="too_employeebundle_employee_cree_le" name="too_employeebundle_employee[cree_le]" value="{{ entity.creele|date('Y-m-d H:i:s') }}">
<input type="hidden" id="too_employeebundle_employee_modifie_le" name="too_employeebundle_employee[modifie_le]" value="{{ entity.modifiele|date('Y-m-d H:i:s') }}">
{{ form_widget(edit_form._token) }}
<p>
<button type="submit" class="btn btn-success">{{ 'views.edit.editbutton'|trans({}, 'JordiLlonchCrudGeneratorBundle') }}</button>
</p>
</form>
当然我做错了什么,但谁能告诉我该怎么做?