我的symfony2路由上的前缀需要一个变量,以便我可以在主路由文件中执行以下操作:
//app/config/routing.yml
god:
resource: "@Acme/DemoBundle/Resources/config/routing.yml"
prefix: /god/{religion}
Run Code Online (Sandbox Code Playgroud)
然后在捆绑路由文件中这样的事情:
gods_route_to_heaven:
path: /path_to_heaven
defaults: { _controller: AcmeBlogBundle:God:show }
Run Code Online (Sandbox Code Playgroud)
这样我就可以访问这样的路径了:
/god/Christianity/path_to_heaven
/god/Islam/path_to_heaven
/god/Hinduism/path_to_heaven
Run Code Online (Sandbox Code Playgroud)
等等.
如果我app/console route:debug | grep api在控制台上键入,我会得到正确的路由/god/{religion}/path_to_heaven,因此正确生成路由.
但是当我尝试通过将它作为输入放在动作函数中来获取控制器中的参数时,如下所示:
public function showAction($religion)
Run Code Online (Sandbox Code Playgroud)
路径被破坏并转储路径我看到它重复: /god/{religion}/path_to_heaven/{religion}
那么我如何从控制器内部获取$ religion变量?
你试过这个吗?
//app/config/routing.yml
god:
resource: "@Acme/DemoBundle/Resources/config/routing.yml"
prefix: /god
Run Code Online (Sandbox Code Playgroud)
然后在捆绑路由文件中类似这样的内容:
gods_route_to_heaven:
path: /{religion}/path_to_heaven
defaults: { _controller: AcmeBlogBundle:God:show }
Run Code Online (Sandbox Code Playgroud)
让我知道它是否有效。
| 归档时间: |
|
| 查看次数: |
7099 次 |
| 最近记录: |