2015-02-16 2 views
0

Добрый день всем, пожалуйста, мне нужна помощь. Я новичок в структуре symfony2, и сейчас у меня ошибка в моем проекте.Помощник «действие» не определен

Ошибка, возникшая из-за этого: вспомогательное «действие» не определено. Я создал функцию контроллера, в функции я добавил код для создания формы и функции рендеринга для рендеринга через шаблон.

Теперь я пытаюсь отобразить форму на моей странице index.html.php, включив шаблон формы на индексной странице, но у меня этот дисплей: «Действие» помощника не определено.

Пожалуйста, я буду благодарен за ваш быстрый ответ на мою помощь. Спасибо

public function formAction(Request $request) 
{ 
    // $task = new Task(); 
    // $task->setTask('Write a blog post'); 
    // $task->setDueDate(new \DateTime('tomorrow')); 
    $form = $this->createFormBuilder($task)->add('task', 'text')->add('dueDate', 'date')->add(
     'save', 
     'submit', 
     array('label' => 'Create Task') 
    )->getForm(); 

    return $this->render('HarriseqBundle:Main:login-form.html.php', array('form' => $form->createView())); 
} 
+0

http://symfony.com/doc/current/book/page_creation.html – websky

+0

my form controller code: public function formAction (Request $ request) { \t \t // $ task = new Task(); \t \t // $ task-> setTask ('Написать запись в блоге'); \t \t // $ task-> setDueDate (новый \ DateTime ('завтра')); \t \t \t \t $ образуют = $ this-> createFormBuilder ($ задача) \t \t -> добавить ('задачи', 'текст') \t \t -> добавить ('DueDate', 'дата') \t \t -> add ('save', 'submit', array ('label' => 'Create Task')) \t \t -> getForm(); \t \t \t \t возвращение $ this-> Render ('HarriseqBundle: Main: логин-form.html.php', массив ('форма' => $ форма-> CreateView())); \t} – charly

+0

Благодарю вас, г-н Майкл Сиволобов за редактирование моего сообщения. – charly

ответ

0

У вас проблема в login-form.html.php. Потому что print $view['action']->render(new \Symfony\Component\HttpKernel\Controller\ControllerReference('HarriseqBundle:Mai‌​n:form')); неправильный код. Пожалуйста, с помощью этого учебника, чтобы создать формы http://symfony.com/doc/current/book/forms.html

0

Ошибка не в действие контроллера, но в форме визуализации

echo $view['action'] 

не правильный путь, чтобы сделать то, что вы пытаетесь сделать, в то время как

echo $view['form'] 

делает

Таким образом, в основном, изменения кода (HarriseqBundle:Main:login-form.html.php) следующим образом

<?php echo $view['form']->start($form) ?> 
<?php echo $view['form']->widget($form) ?> 
<?php echo $view['form']->end($form) ?> 

или

<?php 
    echo $view['form']->start($form); 
    echo $view['form']->widget($form); 
    echo $view['form']->end($form); 

Что start, widget, конец methods делать?

start() метод визуализации, начиная тег <form> вашего объекта формы (так что в основном вы можете передать ему некоторые параметры, такие метод представления)

end() метод визуализации закрывающий тег </form>

widget() будет оказывать все элементы вашей формы (если применяется к всей форме) или, если вы укажете элемент формы в качестве параметра, только этот элемент

Также посмотрите на метод rest()

+0

Я пытаюсь использовать этот – charly

+0

echo $ view ['form'] -> start ($ form) – charly

+0

Но отображается еще одно сообщение об ошибке: Неопределенная переменная формы – charly

Смежные вопросы