Я пытаюсь передать некоторые данные из моей ветки в контроллер, но я получаю эту ошибку
No route found for "POST /agent/": Method Not Allowed (Allow: GET)
Позвольте мне объяснить, что я сделал, у меня есть список, и у каждого автомобиля в этом списке есть кнопка, я нажимаю кнопку, чтобы показать модальную форму, которая позволяет мне создать билет, связанный с этим автомобилем.
Нажатие на эту кнопку передает идентификатор и номер выбранного автомобиля в форму. Я смог обработать форму, ничего не передавая, но всякий раз, когда я пытаюсь передать идентификатор автомобиля, я получаю сообщение об ошибке.
Мой код:
index.html.twig
{% for parking in user.parkings %}
<table id="file_export" class="table table-striped table-bordered">
<tbody>
{% for car in car %}
<tr>
<td>
{{ car.matricule }}
</td>
<td>
<span class="timer" data-expires="{{ car.getExpiresAt() }}">
</span>
</td>
<td>
<button type="button" class="btn btn-dark" href="{{ path('new_amende', {'id': car.id},{'number': car.number}) }}" data-toggle="modal" data-target="#createmodel" data-whatever="{{ car.id }}">
ticket
</button>
{{render(controller('App\\Controller\\AgentController:newAmende')) }}
</td>
</tr>
{% endfor %}
Контроллер
/**
* @Route("/{id}/new", name="new_ticket", methods={"GET","POST"})
*/
public function newTicket(Request $request, Car $car): Response
{
$ticket = new Ticket();
$form = $this->createForm(TicketType::class, $ticket);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$this->addFlash('success','ticket added !');
$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($ticket);
$entityManager->flush();
return $this->redirectToRoute('agent');
}
return $this->render('Agent/modal.html.twig', [
'ticket' => $ticket,
'form' => $form->createView(),
]);
}
Редактировать вот мой другой контроллер
/**
* @Route("/", name="agent", methods={"GET"})
*/
public function index(): Response
{
$use = $this->get('security.token_storage')->getToken()->getUser();
$user = $this->getUser();
$parkingz=$this->getUser()->getParkings();
return $this->render('Agent/Agent.html.twig', [
'user' => $user,
'parkings'=>$parkings,
]);
}