我有一個sfDoctrineRouteCollection:混亂塞與路線部分「新」等
foo:
class: sfDoctrineRouteCollection
options:
model: Foo
columns: slug
action: [list, show, new, create, edit, update, delete]
如果有人現在創建一個新的實體,其蛞蝓的結果,例如,「新」,路由引擎獲取關於困惑用於創建新實體的兩條路線/foo/new
以及用於顯示具有「新」的slu entity的實體的/foo/new
。
什麼是這個問題乾淨和優雅的解決方案?
當然,我可以提供顯式的路由定義,但這會使sfDoctrineRouteCollection種類過時。 「show」操作的單獨路由定義已經可以解決問題,例如,通過添加諸如「/ foo /:slug/show」的前綴。我也可以提供攔截「新」等slu custom的定製slugify方法。
您是否知道任何干淨優雅的解決方案?
它是否有助於要麼使用prefix_path或segment_name選項,如下所示:http://www.symfonyreference.com/routing-yml? – meijuh 2013-03-03 18:58:47
那麼,如果你有一個slug'new'的東西,並且你想看到它,它會進入'/ foo/new/show','/ foo/new'不應該顯示任何東西,因爲它不會顯示'不知道該怎麼辦..動作參數不存在。否則,你應該避免使用'slug'作爲'new',或者任何可能破壞路由的動作。 – j0k 2013-03-03 21:05:50
@ j0k在這種情況下,「動作」是隱含的。 Symfony使用請求方法來查找正確的操作。 – 1ed 2013-03-04 22:13:40