Immagina di avere un metodo nel controller, ad esempio la memorizzazione di una nuova società. Immaginate anche di poter creare una nuova azienda da pagine diverse nel nostro sito. Ad esempio, posso creare un'azienda da 2-3 pagine.Reindirizza a pagine diverse in base alla pagina precedente in Laravel
A seconda di dove ho creato l'azienda, ho bisogno di avere reindirizzamenti diversi. A volte ho bisogno di reindirizzare indietro, e talvolta ad altre rotte.
Qualcosa di simile:
if ($previousRoute === 'companies.index') {
return redirect()->back();
} else {
return redirect()->route('someroute');
}
credo non riesco a ottenere il nome della rotta wher utente provenienza. Se controllo URL del referrer, nel caso in cui io modifichi l'URL del percorso, tutto verrà interrotto, quindi preferisco fare affidamento sui nomi delle rotte. Inoltre, la soluzione con molti "se-s" o un "interruttore" è un po 'strana, inquinerà il codice.
È necessario anche il supporto con caratteri jolly. Una sorta di mappa del percorso con reindirizzamenti o qualcosa del genere.
Qualche consiglio su come implementarlo?
Dal momento che sto cercando di indovinare che stai postando l'azione di controllo, perché non si può semplicemente passare un valore che indica se si dovrebbe essere reindirizzato? E puoi semplicemente includere quel valore nei moduli necessari (dal momento che hai detto che hai 2-3 pagine che lo fanno, presumo tu possa regolare i moduli su ciascuno come preferisci). L'approccio che cerchi non ha soluzioni affidabili ed è eccessivamente complicato. – Bogdan
Soluzione eccezionale. L'unica cosa è che adesso ho una finestra modale con la forma. Mostro la modale quando clicco su pulsanti diversi e, a seconda di dove ho fatto clic, devo reindirizzare l'utente a pagine diverse. Così ho creato 3 file: form.blade.php, modal1.blade.php e modal2.blade.php. Includo il modulo in questi modali e li passo redirect_to param, e all'interno del modulo ho inserito input nascosti con questo parametro – Victor