Проблема здесь:
public function index(Request $request, SubmitButton $button)
Symfony не может сделать вывод, что такое $button
. Если у вас есть соответствующая форма, вам нужно создать экземпляр этой формы, обработать запрос, а затем проверить, была ли нажата кнопка, примерно так:
public function index(Request $request)
{
$form = $this->createForm(MyFormType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
if ($form->get('submit')->isClicked()) {
// ...
} else {
// ...
}
}
return $this->render('my_template.html.twig', ['form' => $form->createView()]);
}
Понятно, что это немного, если все, что вы хотите Для этого нужно проверить, была ли нажата кнопка, и вы не хотите создавать вокруг нее целую форму. Для этого вы можете просто получить доступ к отправленным данным из запроса, не прибегая к какому-либо классу формы:
public function index(Request $request)
{
$isClicked = $request->request->get('submit');
// ...
}
Вместо $request->request
это может быть $request->query
, если вы отправили значение с помощью GET- метод, а не сообщение.
См. также: