gpt4 book ai didi

php - 交响乐 2 : route defined in annotation not visible from by Twig's path()

转载 作者:IT王子 更新时间:2023-10-29 00:21:13 26 4
gpt4 key购买 nike

我遇到了一个问题,有以下几点:

具有简单操作的 DefaultController:

/**
* @Route("/register")
* @Template
*/
public function indexAction() {
$oForm = $this->createForm(new RegisterType());
return array(
'form' => $oForm->createView()
);
}

在我的 Twig 模板中,我尝试使用:

<form action="{{ path('register') }}" method="post"></form>

但是我得到以下错误:

An exception has been thrown during the rendering of a template ("Route "register" does not exist.") in EBTSCustomerBundle:Default:index.html.twig at line 2.

当我在 app/config/routing.yml 中明确定义“注册”路由时:

register:
pattern: /register
defaults: { _controller: EBTSCustomerBundle:Controller:Default:index }

然后它工作正常。找不到任何关于它的合理文档,我认为通过注释定义的路由应该在整个应用程序中可见。

有什么想法吗?

最佳答案

注解的路由还是需要导入到routing.yml中:

AcmeHelloBundle:
resource: "@AcmeHelloBundle/Controller"
type: annotation

这将告诉路由扫描 Acme\HelloBundleController 目录并导入所有路由。

您可以找到有关带注释的路由的更多信息 here 。该链接还将告诉您如何激活我上面显示的路由。

此外,我注意到您的路由注释需要使用 path 函数通过 register 访问 name 参数,否则它会通过 acme_bundlename_controllername_actionname 访问:

@Route("/register", name="register")

希望对您有所帮助!

关于php - 交响乐 2 : route defined in annotation not visible from by Twig's path(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8406101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com