牢記這短暫的甜蜜:我可以很容易地指定像在routes.php文件下面並進行所需的形式工作的網址:反向路由/:控制器/:ID
Router::connect('/:controller/:id',
array('action'=>'item'),
array('id'=>'[0-9]+')
);
然而,路線仍然由Cake生成爲'/:controller/item /:id'。有沒有一種簡單的方法讓Cake的反向路由使URL不包含動作?或者我只需要通過我的應用程序並用「/:controller/$ id」手動替換相關數組?
你能舉幾個例子你正試圖扭轉這種不工作?它是否正確地路由在第一位?這一切對我來說都很好。 – jeremyharris
這種類型的數組傳遞給HTML的「鏈接:\t陣列(「控制器」 =>「:控制器」,「動作」 =>「項目」,$ ID),似乎給我一個鏈接到/控制器/項目/ $ ID。我不知道這是否是預期的,而我只是努力嘗試 -/controller/$ id表單中的路徑確實有效。我找到了一個可能的解決方案,我將在後面發佈,但任何真正瞭解Cake路由工作方式的人都可以隨時啓發我,以瞭解我應該如何做這種事情! – thesunneversets
'array('controller'=>'videos','action'=>'item',$ id)'應該匹配成爲'/ videos/$ id'。您是否在HTML鏈接中使用':controller'來嘗試,因爲這不起作用。創建鏈接時仍需要定義控制器。反向路由正在將'/ videos/$ id'改爲'array('controller'=>'videos','action'=>'item',$ id)',這也應該起作用。 – jeremyharris