Stellen Sie sich vor, Sie haben eine Methode im Controller, wie das Speichern einer neuen Firma. Stellen Sie sich auch vor, wir können neue Unternehmen auf verschiedenen Seiten unserer Website erstellen. Zum Beispiel kann ich eine Firma von 2-3 Seiten erstellen.Umleiten zu verschiedenen Seiten basierend auf der vorherigen Seite in Laravel
Je nachdem, wo ich die Firma erstellt habe, muss ich verschiedene Weiterleitungen haben. Manchmal muss ich zurück und manchmal auf andere Routen umleiten.
Etwas wie:
if ($previousRoute === 'companies.index') {
return redirect()->back();
} else {
return redirect()->route('someroute');
}
Ich glaube, ich nicht die Routennamen bekommen kann überall dort Benutzer herkam. Wenn ich die Referrer-URL überprüfe, dann werde ich für den Fall, dass ich die Routen-URL ändere, alles kaputt machen, so dass ich stattdessen auf Routennamen angewiesen bin. Plus, die Lösung mit vielen "Wenn-s" oder "Schalter" ist irgendwie komisch, es wird den Code verschmutzen.
Auch Wildcard-Unterstützung ist erforderlich. Eine Art von Routemap mit Weiterleitungen oder so ähnlich.
Irgendwelche Ratschläge, wie man das umsetzt?
Da ich vermute, dass Sie POST auf die Controller-Aktion sind, warum können Sie nicht einfach einen Wert übergeben, der angibt, ob Sie zurückgeleitet werden sollten oder nicht? Und Sie können diesen Wert einfach in die benötigten Formulare aufnehmen (da Sie gesagt haben, dass Sie 2-3 Seiten haben, die das tun, nehme ich an, dass Sie die Formulare für jedes Formular anpassen können, wie es Ihnen passt). Der Ansatz, den Sie suchen, hat keine zuverlässigen Lösungen und ist übermäßig kompliziert. – Bogdan
Tolle Lösung. Die einzige Sache ist, gerade habe ich ein modales Fenster mit Form. Ich zeige das Modal, wenn ich auf verschiedene Schaltflächen klicke und je nachdem, wo ich geklickt habe, muss ich den Benutzer auf verschiedene Seiten umleiten. Also habe ich 3 Dateien erstellt: form.blade.php, modal1.blade.php und modal2.blade.php. Ich füge Form in diese Modale und übergebe sie redirect_to param, und innerhalb Form legte ich versteckte Eingabe mit diesem Parameter – Victor