2012-05-09 112 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/UTIL/initUpload」錯誤「的路由。我試過把塊放在不同的地方(甚至把它移到'/ util/init'上面。)'/'索引路由在我的routing.yml文件的末尾,所以這不應該是問題。上面的路由是格式爲/ util/*的唯一路由。

該路線用於處理表單和文件上傳,但我認爲不重要。我已經刪除了POST要求並直接在瀏覽器中進行了測試,但仍然給了我相同的錯誤。駝峯應該不是問題。我有其他路線在這種格式,工作很好...

我還缺少什麼?有關如何調試的建議?我的下一步是報廢YML文件,然後使用PHP的格式重寫,但我真的不想做..

回答

20

有一個命令可以列出所有路線:

app/console router:debug 

如果您在那裏看不到您的路線,請先嚐試清除緩存。如果沒有幫助,請刪除路線定義並手動重新輸入 - 不要複製/粘貼。

P.S.它與YAML/PHP無關。

+6

從版本2.7開始,不推薦使用「router:debug」命令,並將在3.0中刪除。改爲使用「debug:router」。 – dotoree

+2

'debug:router'工作。謝謝@dotoree。 – mtchuente