【发布时间】:2015-01-26 19:23:05
【问题描述】:
我正在通过 createAction 重定向到 entity_show 路由。在创建逻辑中,我将一个非实体变量($credited)分配给“credited”或“not credited”,然后我试图通过返回调用将其传递给 showAction(entity_show 路由)
this->redirect(generateUrl(entity_show, array('id' => $entity->getId(), $credited)));
我已经尝试了几种方法,
array(..., $credited)
array(..., 'credited' => $credited)
array(..., true/false)
但这些值都没有被正确传递到 showAction,即使我已经定义了参数。
public function showAction($id, $credited = 'credited') { ... }
(我需要默认值,以防我从 createAction 以外的地方调用 showAction,其中 $credited 未定义)
问题在于,在 showAction 中,$credited 总是回退到其默认值,即使在 createAction 中传递的值是“未记入”,这意味着参数根本没有像我打算的那样传递给 showAction。
是否可以通过 generateUrl() 将变量作为 普通 函数参数而不是固有地与 URL 绑定的东西传递?
理想情况下,如果我可以将我的 $credited 值从 createAction 传递到 showAction,那么在 showAction 中我可以将 $credited 返回到 twig 视图,在那里我可以使用一些 twig 逻辑来显示自定义文本,具体取决于 $credited 持有的值.
return array(
'entity' => $entity,
'credited' => $credited,
'delete_form' => $deleteForm->createView()
);
【问题讨论】:
标签: symfony url redirect parameter-passing