Уважаемый интеллектуальный улей,
У меня возникли проблемы с перенаправлением в symfony 4. Конечно, я пытался найти похожий вопрос, но не нашел решения.
Я только начал изучать Symfony 4, пройдя некоторые уроки. (И Я ЛЮБЛЮ ЭТО !!!)
Программа представляет собой очень простой пример блога на локальном apache сервере (возможно, это важно). Список средств, Добавить, Показать
Так что моя проблема в методе добавления. После добавления статьи (которая отлично работает) я хочу использовать redirectToRout ('article_list'). Но это ни к чему не приведет, кроме как на странице добавления.
Когда я отлаживаю свои маршруты, я вижу правильные маршруты:
article_list ANY ANY ANY /article
article_delete DELETE ANY ANY /article/delete/{id}
article_add ANY ANY ANY /article/add
article_show ANY ANY ANY /article/{id}
И все эти маршруты работают нормально, когда я набираю их вручную.
Функция добавления также довольно проста:
/**
* @Route(
* "/article/add",
* name="article_add",
* )
*/
public function add(Request $request)
{
$article = new Article();
$form = $this->createFormBuilder($article)
[...]
->getForm();
$form->handleRequest($request);
if($form->isSubmitted() && $form->isValid()){
$article = $form->getData();
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($article);
$entityManager->flush();
$this->redirectToRoute('article_list');
}
return $this->render('article/new.html.twig', array(
'form' => $form->createView()
));
}
Как и функция списка
/**
* @Route(
* "/article",
* name="article_list",
* )
*/
public function index()
{
$articles = $this->getDoctrine()->getRepository(Article::class)->findAll();
return $this->render('article/list.html.twig', [
'articles' => $articles,
]);
}
Как вы можете видите, имя в аннотациях правильное.
Когда я меняю метод redirectToRoute на
redirectToRoute("/article");
, я получаю сообщение об ошибке «Невозможно сгенерировать URL для названного маршрута» / article "как таковой маршрут не существует. В журнале я вижу Matched route "article_add"
Таким образом, маршрут" / article "был сопоставлен с маршрутом" article_add ". Это не то, что я ожидал ....
Так что у меня возникает ощущение, что что-то на странице добавления игнорирует мои маршруты.
У кого-нибудь есть идеи, какую простую проблему я не вижу?
Спасибо Я бы очень хотел понять, что здесь не так ...