Wenn eine Authentifizierungsstrategie in Warden fehlschlägt, kann eine Nachricht an die Methode fail!
übergeben werden. Wie kann ich auf diese Nachricht in meiner standardmäßigen Fehleranwendungsaktion zugreifen, sodass ich sie in einer Flash-Nachricht anzeigen kann? Ich habe versucht, request.env['warden'].message
, aber nach dem Blick auf den Code für Warden::Proxy
diese Variable ist nur für den Gewinn Strategien gesetzt. Gedanken?Rack Warden: Wie kann ich auf die Nachricht zugreifen, die an den Fehler übergeben wird! Methode?
2
A
Antwort
0
Vielleicht ist eine andere Möglichkeit, Strategien zu scheitern (aus der letzten Dokumentation), zu verwenden. Alles, was Sie werfen, wird in Ihrer Fehleranwendung über request.env['warden.options']
verfügbar sein, einschließlich einer Zeichenfolge der gewünschten URL. HTH
3
Bei Verwendung des Fail oder Fail! Methoden können Sie die Fehlermeldung vom Umgebungswartungsobjekt erhalten.
Beispiel:
def unauthenticated
flash[:alert] = env["warden"].message unless env["warden"].message.blank?
end
http://www.rubydoc.info/github/hassox/warden/Warden/Proxy#message-instance_method
+0
Dieser Code funktionierte für mich. JA WIRKLICH! – Nathan
, die helfen tat, danke! – Bryan