2013-08-10 4 views
3

전체 오류가 발생했습니다. Symfony, 오류 : 렌더링 도중 예외가 발생했습니다.

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+ 

나뭇 가지와 데이터베이스를 라우팅, 어떤 유형이나 문제가 완전히 정상입니다. 그러나이 오류는 내가 잘못한 곳에서 발견하기가 어렵습니다.

편집 : 그냥

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

답변

3

FooBlogBundle:Article:articles.html.twig 템플릿에 whic views/ 에서 발견 다른 템플릿이 같은 뭔가를 확장 위의 템플릿 views/article/에 위치한

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

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

{% endblock %} 

: 템플릿 포함 {{ path(FlickBlogBundle_articles) }} (템플릿이 표시되지 않기 때문에 정확하게 말할 수 없습니다). 이 경로에는 추가 매개 변수 id이 필요합니다. 그래서 {{ path(FlickBlogBundle_articles, {'id':article.id}) }}

+0

안녕, 난 것이다 이 althouh 시도, 어떻게 잘 모르겠지만, 관련된 템플릿을 포함하도록 내 질문을 업데이트했습니다. – ANW

+1

'FooBlogBundle :: layout.html.twig'에있을 수 있습니까? 'FlickBlogBundle_articles' 링크를 생성 한 곳을 검색하십시오. –

+0

이 튜토리얼 http://tutorial.symblog.co.uk/docs/doctrine-2-the-blog-model.html을 따르고 있습니다. 그리고 정확히 거기에 표시된대로 만들었습니다. 메뉴 및 양식 리디렉션을 제외하고 데이터를 생성하는 템플릿에 대해 언급 한'path()'메서드를 찾을 수 없습니다. – ANW

1

로 변경 저도 같은 오류가 발생했습니다 내 경우에는 내가 내 개인 외래 키 공개 게터 & 세터를 설정하는 것을 잊었다 :

/** 
* @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; 
} 
관련 문제