我有一个渲染控制器的视图:
{{ render(controller("AsselinVisaBundle:Visa:ajouter")) }}
这个控制器构建一个表单并渲染另一个我呈现表单的视图。
这是我的控制器:
public function ajouterAction() {
$visa = new Visa();
$form = $this->createForm(new VisaType(), $visa);
return $this->render(
"AsselinVisaBundle:Visa:ajout.html.twig",
array("form" => $form->createView())
);
}
在ajout.html.twig视图中,我只有:
{{ form(form) }}
这是我的签证实体:
<?php
namespace Asselin\VisaBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="visa")
*/
class Visa {
/**
* @ORM\Id
* @ORM\Column(type="string")
*/
private $numero;
/**
* @ORM\Column(type="string")
*/
private $salarie;
/**
* @ORM\Column(type="string")
*/
private $pays;
/**
* @ORM\Column(type="date")
*/
private $delivrance;
/**
* @ORM\Column(type="date")
*/
private $expiration;
/**
* Set numero
*
* @param string $numero
* @return Visa
*/
public function setNumero($numero)
{
$this->numero = $numero;
return $this;
}
/**
* Get numero
*
* @return string
*/
public function getNumero()
{
return $this->numero;
}
/**
* Set salarie
*
* @param string $salarie
* @return Visa
*/
public function setSalarie($salarie)
{
$this->salarie = $salarie;
return $this;
}
/**
* Get salarie
*
* @return string
*/
public function getSalarie()
{
return $this->salarie;
}
/**
* Set pays
*
* @param string $pays
* @return Visa
*/
public function setPays($pays)
{
$this->pays = $pays;
return $this;
}
/**
* Get pays
*
* @return string
*/
public function getPays()
{
return $this->pays;
}
/**
* Set delivrance
*
* @param \DateTime $delivrance
* @return Visa
*/
public function setDelivrance($delivrance)
{
$this->delivrance = $delivrance;
return $this;
}
/**
* Get delivrance
*
* @return \DateTime
*/
public function getDelivrance()
{
return $this->delivrance;
}
/**
* Set expiration
*
* @param \DateTime $expiration
* @return Visa
*/
public function setExpiration($expiration)
{
$this->expiration = $expiration;
return $this;
}
/**
* Get expiration
*
* @return \DateTime
*/
public function getExpiration()
{
return $this->expiration;
}
}
这是我的VisaType:
<?php
namespace Asselin\VisaBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
class VisaType extends AbstractType {
public function buidForm(FormBuilderInterface $builder) {
$builder->add("numero", "text");
$builder->add("salarie", "text");
$builder->add("pays", "text");
$builder->add("delivrance", "date");
$builder->add("expiration", "date");
}
public function getName() { return "visa"; }
}
?>
我有一个例外:
函数“form”不存在。你的意思是“形式”......
错误在于:{{ form(form) }}
你有什么想法吗?
谢谢:)
答案 0 :(得分:3)
问题:
错误消息显示它不知道' form'
决议: 删除空格:
{{ form(form) }}
成为{{form(form)}}