已经查看了各种Symfony路由问题,但似乎没有人遇到与此相同的问题。
昨天,路由没有问题。
今天我收到有关默认设置
的参数所需的值的错误这是导致我出现问题的示例路线
@Route("/summary/{staffId}", name="task_instance_summary", requirements={"staffId":"\d+"},defaults={"staffId":"0"})
方法定义:
public function summaryAction(Request $request, $staffId)
当然还有错误:
“Controller”PlanXL \ TaskBundle \ Controller \ InstanceController :: summaryAction()“要求您为”$ staffId“参数提供一个值(因为没有默认值或者因为在此之后存在非可选参数)“。)
调试输出:
[router]路由“task_instance_summary”
命名task_instance_summary
路径/任务/实例/摘要/ {staffId}
Path Regex#^ / task / instance / summary(?:/(?P \ d +))?$#s
主持人ANY
主机正则表达式
计划ANY
方法ANY
Class Symfony \ Component \ Routing \ Route
默认_controller:PlanXLTaskBundle:实例:摘要
staffId:0
要求staffId:\ d +
选项compiler_class:Symfony \ Component \ Routing \ RouteCompiler
我已经清除了缓存(即使我正在开发dev),但我不知道为什么会出现错误。当我运行调试时,路由器显然可以看到默认值,为什么不通过我的应用程序调用呢?
答案 0 :(得分:3)
试试吧;
public function summaryAction(Request $request, $staffId = 0)