5

Symfony2 ルーティング YML ファイルの単一ルートの何が問題なのかを理解するのに苦労しています。他のすべてのルートは正常に機能しています (そして、既に数十のルートがあります) が、この 1 つのルートは認識されません。

私の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' は、' No route found for "POST /util/initUpload"エラーを返します。ブロックを別の場所に配置しようとしました (「/util/init」の上に移動することさえあります)。「/」インデックス ルートは、routing.yml ドキュメントの最後にあるため、問題になることはありません。上記のルートは、/util/* 形式のルートのみです。

ルートはフォームとファイルのアップロードを処理するのに役立ちますが、それは問題ではないと思います。POST 要件を削除し、ブラウザーで直接テストしましたが、それでも同じエラーが発生しました.キャメルケースは問題になりません。私はその形式でうまく機能する他のルートを持っています...

他に何が欠けていますか?これをデバッグする方法について何か提案はありますか? 私の次のステップは、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 に答える