以下是这种情况:从带有请求POST参数的twig模板(即实体ID)调用某些表单处理操作。提交表单并再次调用操作以修改底层对象的值后,我的Request对象中的实体ID参数消失了(它被Symfony Form请求对象替换)。
以下是问题:在两次表单调用之间保留此请求参数的最佳做法是什么?
以下是简单的代码示例:
public function editEntityAction(Request $request, $type)
{
$objId = $request->request->get('entityId');
$updateObj = null;
$form = null;
$dbMen = $dbMen->getRepository('BakaMainBundle:Brand');
$updateObj = $dbMen->find($objId);
$form = $this->createForm(new AddBrand(), $updateObj);
if ($updateObj == null && $form == null)
$this->redirectToRoute('baka_main_main_index');
$form->handleRequest($request);
if ($form->isValid() && $form->isSubmitted())
{
$menager = $this->getDoctrine()->getManager();
$menager->flush();
}
return $this->render('@BakaMain/Specs/EditEntity.html.twig',
array('form' => ($form->createView()));
}
答案 0 :(得分:1)
有三种可能的方法来保存值
只有在整个应用程序中使用的全局配置变量
时,才可以将它存储在parameters.yml中有闪光袋用于显示闪光信息,例如“提交成功表格”或“表格提交失败”,这对于下一次请求只有一次有效
我已经为您提供了所有选项,您可以相应地选择,如果需要,您可以向我询问其他详细信息