2014-09-10 2 views
1

Я делаю форму в контроллере symfony 2.Symfony 2 form Handle request не найден

Вот как это выглядит:

$data = date('Y-m-d'); 
    $time = date('H:i:s'); 



    $form = $this->createFormBuilder() 

     ->add('incident', 'entity', array('class' => 'MainCoreBundle:Incidenttype', 'multiple' => false, 'expanded' => true)) 
     ->add('date', 'text',array('data'=>$data)) 
     ->add('time', 'text',array('data'=>$time)) 
     ->getForm(); 

    $form->handleRequest($request); 



    if ($form->isValid()) 

     if ($request->getMethod() == "POST") { 

      $message = \Swift_Message::newInstance() 

     ->setSubject('SUBJECT') 
     ->setFrom('[email protected]') 
     ->setTo('[email protected]') 
     ->setBody(
      $this->renderView(
       'MainAdminBundle:Msg:index.html.twig')); 

    $this->get('mailer')->send($message); 

    return $this->indexAction($request); 

     } 

И я хочу, чтобы сделать вид, что есть: 2 входа: - один с текущим временем - второй с текущей датой - треть с коснуться от лица (это будет поле выбора)

И по щелчку я хочу отправить его по почте.

И моя ошибка: Call to undefined method Symfony\Component\Form\Form::handleRequest()

+0

Получите результат 'echo get_class ($ form);' перед его обработкой. – Flosculus

+0

Symfony \ Component \ Form \ Form – Cre3k

+0

Какую версию Symfony вы используете? 2,2? – Flosculus

ответ

4

Скорее всего, вы используете версию Symfony до 2,3

http://api.symfony.com/2.2/Symfony/Component/Form/Form.html
Эта версия класса отсутствует этот метод, хотя он действительно использует bindRequest

http://api.symfony.com/2.3/Symfony/Component/Form/Form.html
Метод bindRequest был удален в пользу handleRequest.

Включите версию symfony/symfony в composer.json до ~2.5. Он обратно совместим с 2.3, который вам нужен.

+0

bindRequest помогает. большое спасибо – Cre3k