函数“form”不存在

时间:2015-02-22 23:12:26

标签: php symfony twig

我有一个渲染控制器的视图:
{{ 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) }}

你有什么想法吗?

谢谢:)

1 个答案:

答案 0 :(得分:3)

问题: 错误消息显示它不知道' form'

决议: 删除空格:

{{ form(form) }}成为{{form(form)}}