我正在使用 Symfony CMF Routing Bundle 创建动态路由(我在这里使用一个示例):
$route = new Route('/dynamic-url');
$route->setMethods("GET");
$route->setDefault('_controller', 'AppBundle:MyRoute:getResponse');
$routeCollection->add('my-dynamic-route', $route);
响应是从 MyRouteController 中的 getResponseAction() 函数加载的:
/**
* No annotations here, because I want the url to be dynamic from the database
*/
public function getResponseAction(Request $request) {
return $this->render('dynamic-page-template.html.twig');
}
当我转到“/dynamic-url”时,它可以工作。
在另一个控制器中,我想重定向到这个动态路由,如下所示:
return $this->redirectToRoute('my-dynamic-route');
但我收到此错误:“没有一个链接的路由器能够生成路由:找不到路由'my-dynamic-route'”
也很有趣:当我转到“/dynamic-url”时,开发栏实际上说路由名称是“my-dynamic-route”。
编辑
当我加载所有路线时,我看不到我的动态路线名称:
$this->get('router')->getRouteCollection();
我认为他们应该在这个列表中。