symfony 4.1 Невозможно создать URL - PullRequest
       10

symfony 4.1 Невозможно создать URL

0 голосов
/ 06 сентября 2018

в моем приложении synfony у меня есть два контроллера: ActionController должен просто визуализировать шаблон, содержащий форму. Отправляя форму, я хочу отправить GET-запрос в метод getSpreadSheet () SpreadSheetControllers.

Это ActionController:

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;

class ActionController extends AbstractController {

  /**
   * @Route("/action")
   */
  public function action() {

    $form = $this->createFormBuilder()
        ->setAction($this->generateUrl('/spreadSheet'))
        ->setMethod('GET')
        ->add('save', SubmitType::class, array('label' => 'Action'))
        ->getForm();

    return $this->render('action.html.twig', array(
        'form' => $form->createView(),
    ));

  }

}

А вот SpreadSheetController:

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Response;

class SpreadSheetController extends AbstractController {

  /**
   * @Route("/spreadSheet")
   */
  public function getSpreadSheet() {
    return new Response(
        '<html><body>spreadSheet</body></html>'
    );
  }

}

Тем не менее, при просмотре http://localhost:8000/action я получаю исключение RouteNotFoundException: Невозможно сгенерировать URL для названного маршрута "/ spreadSheet", так как такой маршрут не существует.

Кто-нибудь знает, почему маршрут не найден ??

1 Ответ

0 голосов
/ 06 сентября 2018

Вы должны ссылаться на название маршрута, а не на фактический URL.Назовите свой маршрут так:

/**
 * @Route("/spreadSheet", name="spreadsheet")
 */

Затем укажите это имя в вашем ActionController:

    ->setAction($this->generateUrl('spreadsheet'))
...