【问题标题】:symfony2: trying to render a form in the templatesymfony2:尝试在模板中呈现表单
【发布时间】:2012-05-07 17:00:58
【问题描述】:

我正在尝试呈现我刚刚从实体生成的表单,但出现以下错误...

<?php

namespace Prueba\FrontendBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Prueba\FrontendBundle\Form\ItemType;

class DefaultController extends Controller
{
/**
* @Route("/hello")
* @Template()          
*/                      
public function indexAction($name)       
{                              
     $form = new ItemType();var_dump(get_class($form));                                 
                return $this->render('AcmeTaskBundle:Default:new.html.twig', array(             
                                        'form' => $form->createView(),
                                                 ));
    }                            
}

string(35) "Prueba\FrontendBundle\Form\ItemType" 致命错误:调用 未定义的方法 Prueba\FrontendBundle\Form\ItemType::createView() 在 /home/javier/programacion/sf2000/src/Prueba/FrontendBundle/Controller/DefaultController.php 第 20 行

【问题讨论】:

    标签: symfony


    【解决方案1】:

    改变

    $form = new ItemType();
    

    $form = $this->createForm(new FormType());
    

    如果您想将空实体附加到表单(更容易验证和表单处理):

    $item = new Item();
    $form = $this->createForm(new FormType(), $item);
    

    【讨论】:

      猜你喜欢
      • 2020-02-05
      • 2016-12-06
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-28
      • 2012-11-11
      相关资源
      最近更新 更多