找不到模板:创建简单的Controller和视图

时间:2018-07-14 21:56:35

标签: php symfony routes

我的控制器是/src/AppBundle/Controller/TestsController.php,该类是:

nil

我的视图是/src/AppBundle/Resources/views/tests/index.html.twig,其中包含:

class TestsController extends Controller
{
    /**
     * @Route("/tests/index", name="testsIndex")
     */
    public function indexAction(Request $request)
    {
        return $this->render('AppBundle::tests\index.html.twig', [
            'text' => "Hello world"
        ]);
    }
}

但是当我尝试打开http://localhost/project/web/tests/index时,错误显示:

  

无法找到模板“ AppBundle :: tests / index.html.twig”(已查找   进入:D:\ www \ project \ app / Resources / views,   D:\ www \ project \ vendor \ symfony \ symfony \ src \ Symfony \ Bridge \ Twig / Resources / views / Form)。

我遵循了该线程,该错误几乎相同,但仍然找不到该错误。真让我发疯。

Unable to find template in Symfony 3

谢谢!

3 个答案:

答案 0 :(得分:1)

应该可以,但是尝试AppBundle:tests:index.html.twig

您可能还想使用大写的Tests而不是tests。比较传统。

答案 1 :(得分:0)

Cerad的解决方案完全正确:

@App/tests/index.html.twig

答案 2 :(得分:0)

/**
 * @Route("/tests/index", name="testsIndex")
 */
public function indexAction(Request $request)
{
    return $this->render('tests\index.html.twig', [
        'text' => "Hello world"
    ]);
}

这应该有效。