【发布时间】:2012-10-20 11:22:57
【问题描述】:
我已经使用注释设置了一条路线。在我看来是正确的,Symfony2 说这是错误的。路线如下:
@Route("/news/{id}/{slug}", name="newsarticle")
这是一个我认为与路由匹配的示例 URL:
这里是函数骨架:
public function newsArticleAction($id, $slug)
{
}
我在这里缺少什么?我收到 500 错误,日志显示:
[2012-10-30 20:36:35] request.INFO:匹配路由“newsarticle”(参数:“_controller”:“App\SiteBundle\Controller\DefaultController::newsArticleAction”,“id”:“202 ", "slug": "my-news-title", "_route": "newsarticle") [] [] [2012-10-30 20:36:36] app.INFO:来自监听器:“newsarticle”路由缺少一些强制参数(“id”)。 [] [] [2012-10-30 20:36:36] request.CRITICAL:Symfony\Component\Routing\Exception\MissingMandatoryParametersException:“newsarticle”路由缺少一些强制参数(“id”)。 (未捕获的异常)在 /home/user/app/cache/prod/classes.php 第 676 行 [] []
【问题讨论】:
-
路线似乎没有任何问题。从日志看来,它与路线匹配得很好。您的模板可能正在尝试为
newsarticle生成 URL,并且没有生成它所需的所有参数,它会抛出这个确切的异常。 -
你清除缓存了吗?试试 app_dev.php,它可能会打印出更多关于出了什么问题的信息。