Контроллер:
namespace Main\UserBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Security\Core\SecurityContextInterface;
class LoginController extends Controller
{
/**
* @Route("login")
*/
public function indexAction(Request $request){
return $this->render('UserBundle:Login:login.html.twig');
}
/**
* @Route("login_check")
*/
public function loginCheckAction(){
return true;
}
/**
* @Route("logout")
*/
public function logoutAction(){
}
}
Вид:
{% extends '::base.html.twig' %}
{% block body %}
<form action="{{ path('/login_check') }}" method="post">
<label for="username">Email:</label>
<input type="text" id="email" name="email" value="{{ last_username }}" />
<label for="password">Password:</label>
<input type="password" id="password" name="_password" />
<button type="submit">login</button>
</form>
{% endblock body %}
Ошибка: во время рендеринга шаблона было выбрано исключение ("Не удалось создать URL-адрес для указанного маршрута"/login_check ", поскольку такой маршрут не существует.") В UserBundle: Login: login.html.twig в строке 3.
Я пробовал вызывать сам путь login_check, и он работает, я также заменил путь для формы на "login", он также не работает.
Я также попытался очистить кеш и все, кроме того, что он не работает.
У кого-нибудь есть решение для этого?
Маршрут от терминала:
main_user_login_index ANY ANY ANY /login
main_user_login_logincheck ANY ANY ANY /login_check
main_user_login_logout ANY ANY ANY /logout
main_user_register_index ANY ANY ANY /register
main_admin_login_index ANY ANY ANY /admin/login/{name}
main_admin_login_logincheck ANY ANY ANY /admin/login_check
main_admin_login_logout ANY ANY ANY /admin/logout
Чтобы использовать <form action="{{ path('/login_check') }}" method="post">
Ваш маршрут должен быть:
/**
* @Route("/login_check", name="/login_check")
*/