控制器:
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 %}
错误:在呈现模板期间引发异常("无法为命名路由"/login_check"生成 URL,因为此类路由不存在.html。
我尝试调用login_check路径本身并且它正在工作,我还替换了表单的路径以"登录",它也不起作用。
我也尝试清除缓存和所有内容,但它也不起作用。
有人对此有解决方案吗?
从航站楼出发的路线:
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")
*/