@exgod
Трудно быть Богом.

Как реализовать редирект с помощью redirectToRoute() после отправки формы в Symfony 3?

Есть форма:
<?php

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\DateType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;

use AppBundle\Entity\Task;

class DefaultController extends Controller
{
    /**
     * @Route("/", name="homepage")
     */
    public function indexAction(Request $request)
    {

        $task = new Task();
        $task->setTask('Write a blog post');
        $task->setDueDate(new \DateTime('tomorrow'));

        $form = $this->createFormBuilder($task)
            ->add('task', TextType::class)
            ->add('dueDate', DateType::class)
            ->add('save', SubmitType::class, array('label' => 'Create Post'))
            ->getForm();

        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {

            return $this->redirectToRoute('default');
        
        }

        return $this->render('default/index.html.twig', array(
            'form' => $form->createView(),
        ));
        
    }
}

После отправки должен произойти редирект:
return $this->redirectToRoute('default');

Хочу создать роутинг аннотацией, но после отправки формы вылетает:
Unable to generate a URL for the named route "result/index.html.twig" as such route does not exist.

Как правильно реализовать сие действие?

*хотелось бы сразу отметить, чтобы в меня не кидали палками: symfony я изучаю два дня.
  • Вопрос задан
  • 1383 просмотра
Пригласить эксперта
Ответы на вопрос 1
return $this->redirect( $this->generateUrl( 'route_name')


И лучше вместо конструкции "array()" использовать "[]"
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы