我通过createAction重定向到entity_show路由。在创建逻辑中,我将一个非实体变量($ 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中我可以返回$ credig到twig视图,在那里我可以使用一些树枝逻辑来显示自定义文本,具体取决于$ credited持有的值
return array(
'entity' => $entity,
'credited' => $credited,
'delete_form' => $deleteForm->createView()
);
答案 0 :(得分:1)
这是简单的数组:
this->redirect(generateUrl('entity_show', array(
'id' => $entity->getId(),
'credited' => $credited
)));
我当然假设entity_show路由已经定义了id和贷记。
针对第一条评论进行了更新。
尝试: echo generateUrl('entity_show',array( 'id'=> $实体 - >的getId(), 'credited'=> $记 ));模具();
我怀疑你的entity_show路线没有正确定义。考虑使用路由定义以及上述测试的结果更新您的问题。实际上,您的浏览器也应该显示重定向的URL。