Ich verwende ersinnen und erstellt ein Benutzerfeld genannt: aktiv, die entweder wahr oder falsch ist. Ich muss den Benutzer manuell aktivieren (true), bevor der Benutzer sich anmelden darf. Zumindest ist dies die Absicht. Ich habe schon versucht, diese ...Überprüfen Sie, ob Benutzer aktiv ist, bevor so dass Benutzer mit devise anmelden (Schienen)
class SessionsController < Devise::SessionsController
# POST /resource/sign_in
def create
"resource/signin CREATE"
self.resource = warden.authenticate!(auth_options)
unless resource.active?
sign_out
redirect_to :sorry_not_active_url
return
end
set_flash_message(:notice, :signed_in) if is_navigational_format?
sign_in(resource_name, resource)
respond_with resource, :location => after_sign_in_path_for(resource)
end
end
jedoch nicht alle Orte, verfängt, wo ein Benutzer anmelden kann, zum Beispiel, wenn ein Benutzer sein Passwort ändert, meldet die Website automatisch automatisch nach in. Wenn der Benutzer jedoch nicht aktiv ist, möchte ich nicht, dass sie sich anmelden können, sondern zu einer sorry_not_active_url weitergeleitet werden.
Was wäre der beste Weg, um den Benutzer von der Unterzeichnung in zu verhindern, wenn der Benutzer nicht aktiv ist?
Vielen Dank.
Dieser große erstellen! Gibt es eine Möglichkeit, nach verschiedenen Zuständen zu suchen, wie aktiv, nicht aktiv, anstehend, abgelehnt, indem ein Feld mit 4 verschiedenen Werten erstellt wird und für jeden Status eine andere Nachricht ausgegeben wird? – user2012677
nach dem ich darüber nachdenke, nehme ich an, ich könnte Def inactive_message ein Feld verweisen, und das Feld könnte eine benutzerdefinierte Nachricht pro Benutzer haben. Scheint das richtig? – user2012677
Klingt wie es – house9