Symfony Twig'之后没有更多路线可用;s render()函数
我面临着来自Symfony 2.5.5(PHP5.6.1)的一个奇怪行为,更具体地说是Twig。以下是我的模板布局的一个片段: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
<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');
}
}