【发布时间】:2015-01-16 11:47:50
【问题描述】:
控制器:
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 %}
错误: 在第 3 行的 UserBundle:Login:login.html.twig 中呈现模板期间引发了异常(“无法为命名路由“/login_check”生成 URL,因为此类路由不存在。”)。 /p>
我已经尝试调用 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
【问题讨论】:
-
控制器中的动作名称是否符合规则,关于您的路由表中的名称?