为什么symfony可以';找不到在其他函数中呈现的模板

为什么symfony可以';找不到在其他函数中呈现的模板,symfony,Symfony,我的控制器中有如下功能: <?php namespace GradeBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Symfony

我的控制器中有如下功能:

<?php

namespace GradeBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\Session;
use GradeBundle\Entity\User;
use GradeBundle\Entity\SchoolClass;

class MainController extends Controller
{
/**
* @Route("/", name="index_page")
*/
public function index()
{

  return $this->render('GradeBundle:Default:index.html.twig');

}
我有以下错误:

Unable to find template "GradeBundle:Default:index.twig.html".

有人知道可能出了什么问题吗

您是否确保为正在使用的控制器使用正确的命名空间?您是否包含正确的文件?另外,我也不确定我是否正确理解了这个问题-你是说如果你添加了另一个具有不同细枝文件渲染的函数,第一个函数将不再渲染?我可以看看你的类名和名称空间/使用语句吗

通常在这些情况下,模板放在错误的位置,或者没有包含正确的文件来查找模板


Michael

这是一个你称之为模板的输入错误:

GradeBundle:Default:index.twig.html
但是您只有
GradeBundle:Default:index.html.twig
模板

注意区别:
html.twig
twig.html

我怀疑您通过以下方式在
GradeBundle:Add:newAdmin.html.twig
中扩展了它:

{% extends 'GradeBundle:Default:index.twig.html' %}
但应该是:

{% extends 'GradeBundle:Default:index.html.twig' %}    

它不应该是indexAction和addAdminAction吗?
{% extends 'GradeBundle:Default:index.html.twig' %}