我正在尝试编辑窗体中的实体。如果实体的名称是“我的实体”,则表单看起来与常规不同,名称字段被禁用,并且没有“删除”按钮。当我提交常规实体编辑表单时,它工作正常。但是,当我尝试提交更改为“我的实体”,它返回的形式Symfony2:表单提交返回表格
这是我的编辑形式树枝:
<div class="collection-create">
<h3>Edit a collection</h3>
<form id="edit-form" method='POST' action="{{ path('edit_entity', {'id': entity.id}) }}">
{% if entity.name == 'My entity' %}
{{ form_row(form.name, { 'attr':{'disabled':'disabled'} }) }}
{% else %}
{{ form_row(form.name) }}
{% endif %}
{% if entity.name != 'Saved for later' %}
<a class="button">Delete</a>
{% endif %}
<button type="submit"onclick="editCollection('{{ entity.id }}')">Save</button>
</form>
控制器
/**
* @Route("/edit/{id}", name="edit_entity")
* @Template()
*/
public function editAction(Entity $entity, Request $request)
{
$form = $this->createForm(new EntityType(), $entity, array(
'action' => $this->generateUrl('edit_entity',['id' => $entity->getId()]),
'method' => 'POST'));
$form->handleRequest($request);
if ($form->isValid() && $form->isSubmitted()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$em->flush();
return $this->render('@Entity/Entity/submit.html.twig', array(
'entity' => $entity));
}
return array('entity'=>$entity, 'form' => $form->createView());
}
你是什么意思与“它返回表单”?那部分的代码是怎样的? – xabbuh
请向您的控制器提交您的表格。 – DerStoffel