redirect_to mit HTTP-Header

8

Ich bin mir nicht sicher, ob dies möglich ist oder Sinn ergibt, aber ich versuche eine Umleitung zu machen, nachdem ich ein HTTP-Header-Feld gesetzt habe. Etwas wie:

%Vor%

Offensichtlich funktioniert das nicht, da request die aktuelle Anfrage ist, nicht die Weiterleitung. Gibt es eine Möglichkeit, redirect_to mit benutzerdefinierten HTTP-Headern aufzurufen?

    
samvermette 20.09.2012, 01:16
quelle

3 Antworten

2

Verwenden Sie das Antwortobjekt ...

  

Wenn Sie benutzerdefinierte Header für eine Antwort festlegen möchten, dann response.headers   ist der Ort, um es zu tun. Das Header-Attribut ist ein Hash, der mappt   Header-Namen auf ihre Werte, und Rails wird einige von ihnen festlegen   automatisch. Wenn Sie eine Kopfzeile hinzufügen oder ändern möchten, weisen Sie sie einfach zu   zu response.headers auf diese Weise:

     

response.headers["Content-Type"] = "application/pdf"

    
King'ori Maina 30.11.2015 23:19
quelle
2

Es ist unmöglich , auf eine Seite mit benutzerdefinierten Kopfzeilen umzuleiten, unabhängig davon, welche Sprache oder welches Framework Sie verwenden. Mit anderen Worten, es gibt keine Möglichkeit, eine HTTP-Weiterleitung auszulösen und den Client (Browser) dazu zu veranlassen, einen benutzerdefinierten Header hinzuzufügen.

Wie Sie selbst erwähnt haben, legen Sie die benutzerdefinierten Header für die Antwort fest, die den Browser anweist, umzuleiten, nicht für die Weiterleitung selbst.

Die einzige Möglichkeit für eine Website, einen Browser anzuweisen, eine HTTP-Anfrage mit einem benutzerdefinierten Header zu erstellen, besteht darin, Javascript und das XMLHttpRequest -Objekt zu verwenden.

    
sepehr 19.12.2016 08:46
quelle
0

Sie können es nicht direkt machen, aber es gibt einen indirekten Weg, es zu tun

  

redirect_to your_url, flash: {accept_header: 'application / json'}

und überprüfen Sie dann flash [: accept_header] in der Ziel-URL.

Das ist nicht besonders elegant, aber es funktioniert. Es ist analog zu einem speziellen URL-Parameter - your_url (accept_header: json) - aber es wird nicht vom Benutzer / bookmarked / etc.

gesehen werden     
John Paul Ashenfelter 15.04.2015 14:39
quelle

Tags und Links