2012-05-09 8 views
5

は、Symfony2ルーティングYMLファイル内で、何が問題になっているかを把握するのに問題があります。他のすべてのルートはうまくいきます(そしてすでに数十もあります)が、このルートは認識されません。ここでSymfony2でルートをデバッグする

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

フォームとファイルのアップロードを処理するルートがありますが、それは重要ではないと思います。私はPOSTの要件を取り除き、ブラウザで直接テストしましたが、それでも私には同じエラーが出ました。camelCaseは問題ではありません。私はその形式で他のルートを持っています...

ほかに何がありますか?これをデバッグする方法に関する提案はありますか?私の次のステップは、私は本当にそれを行うにはしたくないけれども、YMLファイルをスクラップし、PHPの形式を使用して書き換えること..です

答えて

20

あなたのルートの全て一覧表示するコマンドがあります:

app/console router:debug 

は、そこにルートが表示されない場合は、まずキャッシュをクリアしてみてください。それでも問題が解決しない場合は、ルート定義を削除し、再度手動で再入力します。コピー/貼り付けはしないでください。

P.S.それはYAML/PHPとは関係ありません。

+6

"router:debug"コマンドの使用はバージョン2.7以降で廃止され、3.0では削除されます。代わりに "debug:router"を使用してください。 – dotoree

+2

'debug:router'が動作します。ありがとう@dotoree。 – mtchuente

関連する問題