Wenn ein Benutzer, der nicht angemeldet ist, eine URL trifft, leitet das Gerät sie zur Anmeldeseite weiter, woraufhin der Benutzer auf seine ursprüngliche Seite weitergeleitet wird. Wie kann ich auf diese Informationen (die ursprüngliche Route/Aktion) in der Anmeldesicht zugreifen? Ich möchte die GUI je nachdem, wohin der Benutzer geht, unterschiedlich darstellen.Erhalte die ursprüngliche URL während der Anmeldung
0
A
Antwort
0
Sie sollten also den Session-Controller von devise erweitern/überschreiben. Dazu kopieren Sie die neuesten new
Aktionscode aus here, und fügen Sie ihn in einem Controller (lass es Sitzungen nennen), die von devise der Sitzungen Controller erbt, wie folgt aus:
class SessionsController < Devise::SessionsController
def new
self.resource = build_resource(nil, :unsafe => true)
clean_up_passwords(resource)
@after_sign_in_url = after_sign_in_path_for(resource)
respond_with(resource, serialize_options(resource))
end
end
Da dieser Controller von Devise des erbt, wenn In Ihrem Controller ist keine Aktion definiert, dass die Aktion vom Controller von Devise verarbeitet wird. Sie müssen also nur die Aktion new
überschreiben.
Schließlich bearbeiten Sie Ihre Routen-Datei so dass diese Änderung wird wirksam:
# routes.rb
devise_for :users, :controllers => { :sessions => 'sessions' }
Alternativ, wenn Sie einen Bereich verwenden, wie folgt aus:
# routes.rb
devise_scope :user do
get 'login' => 'sessions#new', :as => :new_user_session
end
Sie jetzt können @after_sign_in_url
Ihrer Ansicht zugreifen !
Verwandte Themen
- 1. Struts2 - Erhalte die URL von der Fehlerseite
- 2. Ruby Scripting - Telnet hängt während der Anmeldung
- 3. URL in asp.net Umschreiben aber die ursprüngliche URL
- 4. 301 umleiten ursprüngliche URL-Anfrage weitergeleitet URL
- 5. Erhalte Zugriffstoken von der URL
- 6. Long observeChanges Anruf während der Anmeldung
- 7. 'Invalid redirect_uri' während der Anmeldung mit Facebook-Konto
- 8. Cross/Multiple Tab Kommunikation während der Anmeldung
- 9. So bewahren Sie die ursprüngliche Struktur eines Worts während Textmining
- 10. Finden ursprüngliche URL der Links, anstatt die Tracking-URL von Google, Facebook etc
- 11. Ich erhalte Fehler, während die Werte aus der Datenbank holen
- 12. XText Validation - Erhalte die rohe Eingabe während der Validierung
- 13. So erhalten Sie die ursprüngliche URL, nachdem HttpContext.RewritePath()
- 14. Erhalte die ID von explodierender URL
- 15. Ich erhalte einen Fehler bei der Anmeldung mit Meteor.loginWithPassword
- 16. Wie erhalte ich die aktuelle Server URL der appengine App?
- 17. Umleiten auf die ursprüngliche URL ohne Abfragezeichenfolge mithilfe von .htaccess
- 18. Erhalte Seiteninhalt von URL
- 19. Wie erhalte ich die Anfrage-URL im API-Gateway?
- 20. Erhalte {error, connect_timeout} Nachricht während der Verwendung von Hackney
- 21. Wie kann die ursprüngliche Methode
- 22. Erhalte ein Authentifizierungs-Popup während der Anwendung Start
- 23. XMPP-Client mit Smack 4.1 geben NullPointerException während der Anmeldung
- 24. Android: Keine Protokolle während der Anmeldung über slf4j-Android
- 25. Maximo Anywhere 7.6 - iOS - Fehler während der Anmeldung - "errorCode": "UNRESPONSIVE_HOST"
- 26. Wann wird während der JSF-Anmeldung eine Sitzung erstellt?
- 27. Wie kann ich das Hash-Passwort während der Anmeldung lesen?
- 28. Anzeigen der Anmeldung Gerät
- 29. Nächste URL, die direkt neben der ersten URL anfügt, während versucht wird, URL-Umschreiben zu verwenden
- 30. Wie vermeidet man die ursprüngliche Nachricht während der Antwort mit PHP?
mögliches Duplikat von [Umleitung nach einer Anmeldung an die ursprüngliche Aufgabe] (http://stackoverflow.com/questions/5359195/redirecting-after-a-login-to-the-original-task) –
@Jordan Dies ist kein Duplikat. Devise schickt den Benutzer korrekt auf die richtige Webseite. Ich möchte nur wissen, * was diese Seite sein wird *. Die Frage, die Sie verknüpft haben, fragt nicht danach und die Antwort geht nicht darauf ein. – paleozogt