5

我无法弄清楚Symfony2 路由 YML 文件中的单个路由有什么问题。其他每条路线都运行良好(我已经有几十条了),但这条路线拒绝被识别。

这是我的 YML 文件的相关剪辑:

ProjectMainBundle_util_initUpload:
    pattern:  /util/initUpload
    defaults: { _controller: ProjectMainBundle:Utilities:initUpload }
    requirements:
        _method:  POST

ProjectMainBundle_util_init:
    pattern:  /util/init
    defaults: { _controller: ProjectMainBundle:Utilities:initUtilities }
    requirements:
        _method:  POST

ProjectMainBundle_util_download:
    pattern:  /util/download
    defaults: { _controller: ProjectMainBundle:Utilities:download }
    requirements:
        _method:  GET

第一个路由“/util/initUpload”返回“未找到“POST /util/initUpload”错误的路由。我尝试将块放置在不同的位置(甚至将其移动到“/util/init”上方。)“/”索引路由位于我的 routing.yml 文档的末尾,所以这不应该是问题。上面的路由是唯一格式为 /util/* 的路由。

该路由用于处理表单和文件上传,但我认为这并不重要。我已经删除了 POST 要求并直接在浏览器中对其进行了测试,但这仍然给了我同样的错误。camelCase 应该不是问题。我有其他这种格式的路线工作得很好......

我还缺少什么?关于如何调试这个的任何建议?我的下一步是废弃 YML 文件并使用 php 格式重写,尽管我真的不想这样做..

4

1 回答 1

20

有一个命令可以列出您的所有路线:

对于 Symfony 2.x -

app/console router:debug

对于 Symfony 3.x 及更高版本-

bin/console debug:router

如果您在那里看不到您的路线,请先尝试清除缓存。如果没有帮助,请删除路线定义并手动重新键入 - 不要复制/粘贴。

PS 它与 YAML/PHP 无关。

于 2012-05-09T03:28:54.407 回答