簡體   English   中英

使用前綴時,Symfony Route參數不起作用

[英]Symfony Route parameters not working when prefix is used

當我使用此配置時:

#/app/config/routing.yml
_org_demo:
    resource: "@OrgDemoBundle/config/routing.yml"

#Org/DemoBundle/config/routing.yml
_home:
    path: /{name}
    defaults: { _controller: OrgDemoBundle:Home:index, name: world}

//xyz加載都很好。 但是,當我使用新配置時

#/app/config/routing.yml
_org_demo:
    resource: "@OrgDemoBundle/config/routing.yml"
    prefix: /hello

#Org/DemoBundle/config/routing.yml
_home:
    path: /{name}
    defaults: { _controller: OrgDemoBundle:Home:index, name: world}

在這種情況下/hello/xyz加載但不是/hello/並且我得到錯誤No route found for "GET /hello/" 在這種情況下為什么/hello/不加載以及如何解決這個問題?

這是正確的你可以加載/hello 修復不是錯誤。

使用硬編碼的URL不是一個好習慣。 您應該使用生成的URL。

從控制器USE生成URL:

$this->generateUrl('_home');   //Will return /helo
$this->generateUrl('_home', array('name' => 'Bangladesh')) // will return /hello/Bangladesh

在樹枝模板上,您可以使用它們來獲得類似的輸出:

{{ path('_home') }}
{{ path('_home', {name: 'Bangladesh' }) }}

如果您想要處理這兩個網址,可以使用此菜譜

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM