从sf2.0升级到sf2.2后出现路由故障

时间:2013-03-02 18:41:24

标签: symfony twig symfony-2.2

我升级了我的SF版本(2.0.18到2.2),我在树枝模板上渲染路由时出现问题。

错误讯息:

  

在“OlrLoanBundle:Default:index.html.twig”中呈现模板(“找不到”GET Security:login“”的路径)时抛出异常。

我的布局:

<body>
            <div id="main" class="container">
              <div class="row-fluid">
                  <div class="span4">
                      <img src="{{ asset('img/logo.jpg') }}"/>
                  </div>
                  <div class="span8">
                    {% render "FOSUserBundle:Security:login" %}
                    <img src="{{ asset('img/pub.jpg') }}"/>
                  </div>
              </div>        
                {% block content %}{% endblock %}
            </div>
            <div id="footer" class="left a-left">
                {% block footer %}
                {% endblock %}
                {% block javascripts %}
                        <script type="text/javascript" src="http://code.jquery.com/jquery.js"></script>
                        <script type="text/javascript" src="{{ asset('js/bootstrap.min.js') }}"></script>
                {% endblock %}
            </div>
     </body>

我在模板上遇到同样的问题:

   {% extends '::base.html.twig' %}
    {% block content %}
     <div class="row-fluid">
       <div class="span7">

        {% render "OlrLoanBundle:Demande:index" %}
        {% render "OlrLoanBundle:Demande:tribu" %}
        {% render "OlrLoanBundle:Objet:index" %}
     </div>
      </div>
    <div class="span5">
    <img src="{{ asset('img/pub-carre.jpg') }}"/>
    {% render "OlrLoanBundle:Tribu:index" %}

    </div>
  </div>
 {% endblock %}

1 个答案:

答案 0 :(得分:2)

是的,也发生在我身上。然而,正如官方博客中所述,这是期望的行为:

  

从Symfony 2.0.20 / 2.1.5开始,Twig渲染标记现在采用绝对值   url而不是控制器逻辑路径。这修复了一个重要的问题   安全问题(CVE-2012-6431)在官方博客上报道。如果你的   应用程序使用旧版本的Symfony或仍然使用   以前的渲染标记语法,你应该尽快升级。

祝你好运修复代码;)