Symfony-redirect mit Anfrage
Ich umleiten möchten, und senden Sie meine Anfrage an eine andere route, aber diese Methode funktioniert nicht.
return $this->redirect($this->generateUrl(
'admin_platform_create',
array('request' => $request)
));
Wenn ich ankomme in admin_platform_create es nicht passieren, dass, wenn
public function createAction(Request $request)
{
if ($request->getMethod() == 'POST')
{
Aber das ist eine Arbeit,
return $this->forward('AdminPlatformBundle:Manage:edit',
array('request' => $request));
Ist es nicht das, was ich brauche, da es nicht schreiben Sie die neue URL.
Vielen Dank für Ihre Hilfe!
- Warum wollen Sie passieren das Request-Objekt als Argumente ? Die
Request
- Objekt repräsentiert die aktuelle Anfrage. - Browser Folgen, eine Umleitung durch die Ausgabe einer GET-Anfrage für den neuen Standort – so können Sie nicht erwarten, um Zugang zu allen POST-Daten danach. (Als workaround, könntest du eventuell versuchen, und speichern Sie die empfangenen POST-Daten in die session umleiten, und klicken Sie dann auf die Ziel-Lesen der Daten aus der session wieder. Obwohl für große Aufträge dies könnte Auswirkungen auf die Leistung.)
- Wenn ich nicht bestehen, das Request-Objekt als argument bekomme ich diese: Controller "Admin\PlatformBundle\Controller\ManageController::createAction()" erfordert, dass Sie einen Wert für "$request" - argument (weil es keinen default-Wert hat, oder weil ein nicht optionales argument hinter dieser).
- CBroe schon Ihre Frage beantwortet hat, nachdem Sie umzuleiten, um die neue route 'admin_platform_create' Sie sind jetzt das senden einer GET-Anfrage, daher
$request->getMethod() == 'POST'
wird immer falsch sein und Sie werden nie geben Sie diesen code-block zu tun.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie mit Symfony 2.6 oder höher, können Sie es tun: