2

Symfony2 フレームワークにフォームがあります。ページの送信が成功すると、別の twig テンプレート ファイルをレンダリングし、パラメーターを配列で渡すことによって値を返します。しかし、送信後にページを更新すると、再びフォームが送信され、テーブル エントリが作成されます。コントローラーで送信後に実行されるコードは次のとおりです。

$this->get('session')->setFlash('info', $this->get('translator')->trans('flash.marca'));

return $this->render('NewBundle:Backend:marca.html.twig', array(
                                        'active' => 1,
                                        'marca' => $marca,
                                        'data' => $dataCamp,
                                        'dataMarca' => $this->getMarcas($admin->getId()),
                                        'admin' => $admin,
            ));

上記のパラメータと警告メッセージとともに、そこに記載されている小枝ファイルにフォームをリダイレクトしたいと思います。しかし、ページの更新時にフォームを送信したくありません。

ありがとう

4

3 に答える 3

4

これは私のために働いた:

return $this->redirectToRoute("route_name");
于 2016-04-15T15:10:12.227 に答える
1
  1. データを保存します (session/db/保存したい場所)
  2. 新しいアクションにリダイレクトし、そのアクションで新しいデータを取得し、テンプレートをレンダリングします

このように、新しいアクションを更新すると、前のアクションでデータの保存が行われたため、テンプレートのみが更新されます

理解する ?

基本的にあなたの

return $this->render....

return $this->redirect($this->generateUrl('ROUTE_TO_NEW_ACTION')));

この新しいアクションでは、

return $this->render....
于 2013-05-08T15:12:08.300 に答える