Eu tenho um tipo de formulário que possui este campo:
->add("action", "text", array(
"required" => false,
))
O tipo de formulário é mapeado para uma entidade que possui uma propriedade action
.
O problema é que, quando eu renderizo esse formulário em galho, o campo é preenchido previamente com a URL de ação HTTP do formulário, que claramente não é o que eu quero.
Preciso renomear o campo do formulário e a propriedade da entidade para evitar essa colisão?
Respostas:
3 para resposta № 1Inicializei incorretamente o formulário no meu controlador. Eu estava fazendo isso:
$filterForm = $this->createForm(new ActionLogFilterType(), array(
"action" => $this->generateUrl("admin.action_logs.index"),
"method" => "GET",
));
Quando eu precisava fazer isso:
$filterForm = $this->createForm(new ActionLogFilterType(), null, array(
"action" => $this->generateUrl("admin.action_logs.index"),
"method" => "GET",
));
Então, eu posso realmente usar action
como um campo de formulário como eu esperava.
0 para resposta № 2
No Symfony 2.3, são adicionadas as variáveis método e ação, consulte http://symfony.com/doc/current/reference/forms/twig_reference.html. Então, sim, você terá que renomeá-lo.