繁体   English   中英

Symfony2尽管路径存在但无法生成URL

[英]Symfony2 Unable to generate URL although path exist

控制器:

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 %}

错误:在模板的渲染过程中在UserBundle:Login:login.html.twig中的模板渲染过程中引发了异常(“无法为命名路由“ / login_check”生成URL,因为该路由不存在。“) 3。

我尝试调用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")
 */

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM