Symfony Twig'之后没有更多路线可用;s render()函数

Symfony Twig'之后没有更多路线可用;s render()函数,symfony,twig,Symfony,Twig,我面临着来自Symfony 2.5.5(PHP5.6.1)的一个奇怪行为,更具体地说是Twig。以下是我的模板布局的一个片段: <nav> {% render controller('SGLotteryGameBundle:Home:lastDraw') %} <ol class="breadcrumb"> <li><a href="{{ path('sg_lottery_home') }}">{{ 'SuperWi

我面临着来自Symfony 2.5.5(PHP5.6.1)的一个奇怪行为,更具体地说是Twig。以下是我的模板布局的一个片段:

<nav>
    {% render controller('SGLotteryGameBundle:Home:lastDraw') %}
    <ol class="breadcrumb">
        <li><a href="{{ path('sg_lottery_home') }}">{{ 'SuperWinner'|trans }}</a></li>
        {% block bc %}{% endblock %}
    </ol>
</nav>
当然,
sg\u lotket\u home
是定义的,在没有
render
块的情况下工作良好。如果我对该路由的路径生成进行注释,则下一个路由将失败。标记之前的路线不会出现任何问题

这是
SGLotteryGameBundle:Home
控制器:

<?php
namespace SG\Lottery\GameBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Response;

class HomeController extends Controller
{
    /**
     * @Template
     */
    public function indexAction()
    {
        return [];
    }

    public function lastDrawAction()
    {
        return new Response('Dummy');
    }
}

显然,这是由
JMSI18nRoutingBundle
在检索用户的区域设置时生成错误引起的:可用的区域设置是
en
fr
以及用户的区域设置
fr\u fr
。我不知道
{{render(…)}}
调用如何与之交互。

这真的很奇怪。我看不出这里有什么问题,我真的很想知道哪里出了问题。你是否考虑降级到<代码> 2.5.0<代码>以确认bug?当然,使用“<代码> {{渲染(…)}} /代码>调用而不是<代码> {%渲染%} /代码>稍后被删除…注意,如果我清除缓存,我得到完全相同的错误,但在第61行,只有代码> {下一个欧洲数百万绘制”
;如果我刷新,它将显示第70行。@jperovic降级到2.5.0没有更改此行为,除非它在清除缓存后立即在第48行(
  • )报告错误。
    <?php
    namespace SG\Lottery\GameBundle\Controller;
    
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
    use Symfony\Component\HttpFoundation\Response;
    
    class HomeController extends Controller
    {
        /**
         * @Template
         */
        public function indexAction()
        {
            return [];
        }
    
        public function lastDrawAction()
        {
            return new Response('Dummy');
        }
    }