我有语法问题(我相信),这阻止我做下一步。 所以我想建立一个登录系统,当设置了一个会话attr时,模板上的按钮将会改变为' logout'用于注销用户的路由。 显然我的模板没有加载,因为:
在渲染模板期间抛出了异常 ("无法生成指定路线的URL"注销"作为此类路线 不存在。")。
这是我的logoutAction代码
/**
* @Route("/logout", name="logout")
*/
public function logoutAction(Request $request)
{
return $this->render("/login/register.html.twig");
}
和模板
{% if app.session.get('username') %}
<a href="{{ path('logout') }}">
<button type="button" class="mb-xs mt-xs mr-xs btn btn-primary">Wyloguj</button>
</a>
{% else %}
<a href="{{ path('login_route') }}">
<button type="button" class="mb-xs mt-xs mr-xs btn btn-primary">Logowanie</button>
</a>
{% endif %}
出于调试目的使用debug:router命令:
> Name Method Scheme Host Path
> -------------------------- -------- -------- ------
> ----------------------------------- _wdt ANY ANY ANY /_wdt/{token} _profiler_home
> ANY ANY ANY /_profiler/
> _profiler_search ANY ANY ANY /_profiler/search _profiler_search_bar ANY ANY ANY /_profiler/search_bar _profiler_info ANY
> ANY ANY /_profiler/info/{about}
> _profiler_phpinfo ANY ANY ANY /_profiler/phpinfo _profiler_search_results ANY ANY ANY /_profiler/{token}/search/results _profiler_open_file ANY
> ANY ANY /_profiler/open _profiler
> ANY ANY ANY /_profiler/{token}
> _profiler_router ANY ANY ANY /_profiler/{token}/router _profiler_exception ANY
> ANY ANY /_profiler/{token}/exception
> _profiler_exception_css ANY ANY ANY /_profiler/{token}/exception.css _twig_error_test ANY
> ANY ANY /_error/{code}.{_format} homepage
> ANY ANY ANY /
> produkty ANY ANY ANY /produkty
> login_route ANY ANY ANY /login
> login_check ANY ANY ANY /login_check
> register ANY ANY ANY /register
> create ANY ANY ANY /create
> logout ANY ANY ANY /logout
> -------------------------- -------- -------- ------ -----------------------------------