2016-04-11 11 views
0
einreichen

Ich möchte nicht meine Seite nach aufzufrischen den Absenden eines Formulars.Symfony3 benötigen nach aufzufrischen

Ich benutze eine Umleitung und wieder von Unternehmen für die Liste fragen aber es gibt keine Änderung, habe ich noch auffrischen müssen. Ich hatte das gleiche Problem für andere Form aber Umleitung löste es.

public function handleClient($client) 
{ 
    if (!$client->getNom() || !$this->clientForm->isSubmitted() || !$this->clientForm->isValid()) 
     return; 

    $this->getDoctrine()->getManager()->persist($client); 
    $this->getDoctrine()->getManager()->flush(); 

    // HANDLE REFRESH LIST OF CLIENT EXPECTED 
    $repository = $this->getDoctrine()->getManager()->getRepository('CommonBundle:Client'); 
    $this->listClients = $repository->getAllClientInverse(); 

    $this->redirect($this->generateUrl('accueil')); 
} 


public function clientAction(Request $request) 
{ 
    // ACCUEIL 
    $repository = $this->getDoctrine()->getManager()->getRepository('CommonBundle:Client'); 
    $this->listClients = $repository->getAllClientInverse(); 

    // HANDLE CLIENT CREATION AND REQUEST 
    $this->clientLogicHandler(); 

    $repository = $this->getDoctrine()->getManager()->getRepository('CommonBundle:Client'); 
    $this->listClients = $repository->getAllClientInverse(); 

    return $this->render('CommonBundle:Default:index.html.twig', 
     array('listClients' => $this->listClients) 
     ); 
    } 
} 

EDIT: fand ich, dass das Problem, ist, dass ich die Ansicht direkt ohne Nachladen von Controller aufrufen. Gibt es eine Möglichkeit, den Controller aufzurufen, damit die neue Ressource gerendert wird?

+0

Ich habe immer noch das Problem. Ich habe versucht mit $ this-> redirectToRoute ('accueil', array(), 302/301); und keine Veränderung. –

Antwort

0

In der Tat funktioniert eine Umleitung nur von der Aktion, nicht von Kindern Funktion. Ich hatte nur eine Kaskade die Aktion zu tun, und die Umleitung tun, wenn nötig wie:

public function handleClient($client) 
{ 
    if (!$client->getNom() || !$this->clientForm->isSubmitted() || !$this->clientForm->isValid()) 
     return false; 

    $this->getDoctrine()->getManager()->persist($client); 
    $this->getDoctrine()->getManager()->flush(); 

    // HANDLE REFRESH LIST OF CLIENT EXPECTED 
    $repository = $this->getDoctrine()->getManager()->getRepository('CommonBundle:Client'); 
    $this->listClients = $repository->getAllClientInverse(); 

    $this->redirect($this->generateUrl('accueil')); 
    return true; 
} 


public function clientAction(Request $request) 
{ 
    // ACCUEIL 
    $repository = $this->getDoctrine()->getManager()->getRepository('CommonBundle:Client'); 
    $this->listClients = $repository->getAllClientInverse(); 

    // HANDLE CLIENT CREATION AND REQUEST 
    if ($this->handleClient()) 
     $this->redirect($this->generateUrl('accueil')); 

    $repository = $this->getDoctrine()->getManager()->getRepository('CommonBundle:Client'); 
    $this->listClients = $repository->getAllClientInverse(); 

    return $this->render('CommonBundle:Default:index.html.twig', 
     array('listClients' => $this->listClients) 
     ); 
    } 
}