1
我有兩個路線:Symfony的路由:路徑()方法不寫默認PARAM值
// routing.yml
foo_list:
path: /foo
defaults: { _controller:MyBundle:Foo:index }
foo_view:
path: /foo/{id}
defaults:
_controller: AlfnooBundle:Exploitant:view
id : 1
requirements:
id: \d*
第一個是對一個網頁,其中列出所有FOOS,第二個是顯示的頁面foo n的詳細視圖{ID}。在我的枝條的看法,我生成這樣的鏈接foo_view
:
{{path('foo_view', {'id': foo.id})}}
這是確定的,如果id
不1
(默認值):/foo/12345
。但如果id
是1
,則path()
方法會生成一個錯誤的url,它將省略id
param,生成的路由爲:/foo
。這不是foo_view
,而是foo_list
。如果我更改默認值,則問題是默認值。
{{path('foo_view', {'id': 1})}} => /foo => BAD ! I want /foo/1
{{path('foo_view', {'id': 123})}} => /foo/123 => GOOD
所以,我怎麼能強迫嫩枝path()
方法來隨時添加的參數值的方式,即使是默認值?我想保留下列網址:
/foo => foo_list
/foo/ => foo_view with id=1
/foo/12345 => foo_view with id=12345
謝謝。
爲什麼不刪除id的默認值? – DOZ
@DOZ因爲我想要區分url'/ foo'和url'/ foo /'的動作,並且保持'/ foo /'沒有id有效(默認爲1)。 –
讓需求,並刪除默認... – Alsatian