Symfony 3:渲染期间引发了异常

Symfony 3:渲染期间引发了异常,symfony,twig,Symfony,Twig,我得到的全部错误是这个 在呈现“FooBlogBundle:Article:articles.html.twig”中的模板时引发异常(“缺少某些必需参数(“id”)以生成路由“FooBlogBundle\u articles.”的URL)。 这是控制器,用于处理操作: public function articlesAction($id) { $em = $this->getDoctrine()->getManager(); $blo

我得到的全部错误是这个

在呈现“FooBlogBundle:Article:articles.html.twig”中的模板时引发异常(“缺少某些必需参数(“id”)以生成路由“FooBlogBundle\u articles.”的URL)。

这是控制器,用于处理操作:

 public function articlesAction($id)
    {
        $em = $this->getDoctrine()->getManager();
            $blog = $em->getRepository('FooBlogBundle:Blog')->find($id);

        if(!$em){
            throw $this->createNotFoundException('Unable to find blog posti');
        }

        return $this->render('FooBlogBundle:Article:articles.html.twig', ['blog'=>$blog]);
    }
}
路线呢

FlickBlogBundle_articles:
    pattern:  /foo/{id}
    defaults: { _controller: FooBlogBundle:Article:articles }
    requirements:
      _method: GET
      id: \d+
细枝和数据库,完全正常,没有类型或问题。但这个错误有点难以发现,我错在哪里了

编辑:包括模板:

{% extends 'FooBlogBundle::layout.html.twig' %}

{% block body %}
{{ blog.title }}<br/>
{{ blog.author }}<br/>
{{ blog.blog }}<br/>
{{ blog.tags }}<br/>
{{ blog.comments }}

{% endblock %}
{%extends'FooBlogBundle::layout.html.twig%}
{%block body%}
{{blog.title}}
{{blog.author}}
{{blog.blog}}
{{blog.tags}}
{{blog.comments}} {%endblock%}
上述模板位于
views/article/
中,它扩展了
views/
这是什么


{%extends'FooBlogBundle::layout.html.twig'%}

FooBlogBundle:Article:articles.html.twig
模板中,您有类似于
{path(FlickBlogBundle\u articles)}}
(由于我没有看到模板,所以无法准确判断)。此路由需要附加参数
id
。因此,将其更改为
{path(FlickBlogBundle_articles,{'id':article.id}}}}

我遇到了相同的错误,在我的情况下,我忘记为我的私钥设置公共getter和setter:

/**
 * @var Provider
 *
 * @ORM\ManyToOne(targetEntity="Provider")
 * @ORM\JoinColumn(name="fk_provider", referencedColumnName="id", nullable=true)
 */
private $fkProvider;


大家好,我会试试这个,虽然我不知道怎么做,但我已经更新了我的问题,将涉及的模板包括在
FooBlogBundle::layout.html.twig
?搜索生成链接到
FlickBlogBundle\u文章的位置
我正在学习本教程。并且完全按照图中所示制作。除了菜单和表单重定向之外,我找不到您提到的用于生成数据的模板的
path()
方法
/**
 * @return Provider
 */
public function getFkProvider()
{
    return $this->fkProvider;
}

/**
 * @param Provider $fkProvider
 */
public function setFkProvider($fkProvider)
{
    $this->fkProvider = $fkProvider;
}