gpt4 book ai didi

symfony - FOS用户包 : no route found for Security:Login

转载 作者:行者123 更新时间:2023-12-02 12:07:47 26 4
gpt4 key购买 nike

几天前我在这里发布了一个问题: FOSUserBundle: embedding the login form and choosing its template

但是它相当复杂,我认为这个问题的背后可能有一个简单的路线问题,所以我认为创建一个并行主题,删除我所做的所有修改,然后从全新安装开始是一个好主意.

因此,我安装了 FOSUserBundle,我有一个 WelcomeBundle,其中包含我网站的几个页面,并且我还创建了一个新的 UserBundle,其中仅包含 FOSUserBundle 的用户实体,没有其他内容(没有覆盖任何内容)。

在我的 rsWelcomeBundle 中,在我的 index.html.twig 中,我放置了这个简单的代码:

{% extends "rsWelcomeBundle::layout.html.twig" %}

{% block title "Page d'accueil" %}

{% block body %}
<div class="span6">
<div class="well">
<h2>Présentation du jeu</h2>
<a href="{{ path('rsWelcomeBundle_homepage_inscription') }}" class="btn ">Je m'inscris !</a></p>
</div>
</div>
<div class="span6">
<div class="well">
{% render "FOSUserBundle:Security:login" %}
</div>
</div>

{% endblock %}

我总是遇到这个错误:

在第 1 行 rsWelcomeBundle:Homepage:index.html.twig 中渲染模板期间引发异常(“未找到“GET Security:login”的路由”)。

如果我将这一行放在渲染部分,它就可以工作。

{% render(controller("FOSUserBundle:Security:login")) %}

但是为什么?在文档中我从未看到我们必须使用“渲染( Controller ”。为什么我不能直接使用:render "FOSUserBundle:Security:login"?

在 app/config/routing.yml 中我有:

tuto_welcome:
resource: "@rsWelcomeBundle/Resources/config/routing.yml"
prefix: /

fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"

fos_user_profile:
resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
prefix: /profile

fos_user_register:
resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
prefix: /register

fos_user_resetting:
resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
prefix: /resetting

fos_user_change_password:
resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
prefix: /profile

在 UserBundle 中我没有routing.yml。在WelcomeBundle中,我在routing.yml中有这个:

rsWelcomeBundle_homepage:
pattern: /
defaults: { _controller: "rsWelcomeBundle:Homepage:index" }

我已经尝试解决这个问题两天了,你能帮我吗?

非常感谢大家!

最佳答案

{% render "FOSUserBundle:Security:login"%} 是 Symfony 2.0 渲染子请求的方式。 {{ render(controller("FOSUserBundle:Security:login")) }} 是 2.1+ 的语法。两种语法基本上意味着完全相同的事情。

有关子请求的文档位于:http://symfony.com/doc/current/quick_tour/the_view.html#embedding-other-controllers

关于symfony - FOS用户包 : no route found for Security:Login,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15855515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com