Symfony 3:渲染过程中抛出异常
Posted
技术标签:
【中文标题】Symfony 3:渲染过程中抛出异常【英文标题】:Symfony 3: An exception has been thrown during the rendering 【发布时间】:2013-08-12 09:26:24 【问题描述】:我得到的完整错误是这个。
An exception has been thrown during the rendering of a template ("Some mandatory parameters are missing ("id") to generate a URL for route "FooBlogBundle_articles".") in "FooBlogBundle:Article:articles.html.twig".
这是处理动作的控制器:
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+
Twig 和数据库,完全正常,没有类型或问题。但是这个错误很难发现,我哪里出错了。
编辑:包括模板:
% extends 'FooBlogBundle::layout.html.twig' %
% block body %
blog.title <br/>
blog.author <br/>
blog.blog <br/>
blog.tags <br/>
blog.comments
% endblock %
上面的模板位于views/article/
它扩展了在views/
找到的另一个模板
这只是
% extends 'FooBlogBundle::layout.html.twig' %
【问题讨论】:
【参考方案1】:在FooBlogBundle:Article:articles.html.twig
模板中,您有类似 path(FlickBlogBundle_articles)
的内容(无法准确判断,因为我没有看到模板)。此路由需要附加参数id
。所以改成 path(FlickBlogBundle_articles, 'id':article.id)
【讨论】:
嗨,我会试试这个,我不知道怎么做,但我已经更新了我的问题以包含所涉及的模板 可能是FooBlogBundle::layout.html.twig
?搜索你生成链接的地方FlickBlogBundle_articles
我正在关注本教程tutorial.symblog.co.uk/docs/doctrine-2-the-blog-model.html。并完全按照那里显示的那样制作。我找不到你提到的用于生成数据的模板的path()
方法,除了菜单和表单重定向【参考方案2】:
我遇到了同样的错误,在我的情况下,我忘记为我的私人外键设置公共 Getters 和 Setters:
/**
* @var Provider
*
* @ORM\ManyToOne(targetEntity="Provider")
* @ORM\JoinColumn(name="fk_provider", referencedColumnName="id", nullable=true)
*/
private $fkProvider;
和
/**
* @return Provider
*/
public function getFkProvider()
return $this->fkProvider;
/**
* @param Provider $fkProvider
*/
public function setFkProvider($fkProvider)
$this->fkProvider = $fkProvider;
【讨论】:
以上是关于Symfony 3:渲染过程中抛出异常的主要内容,如果未能解决你的问题,请参考以下文章
HibernateSearch、JPA、H2驱动在数据库索引过程中抛出异常