2010-12-29 19 views
0

Wir haben eine neue App erstellt, die einen langen Registrierungsvorgang beinhaltet. Wir verwenden Rails 3 und entwickeln zur Authentifizierung mit: Bestätigbar.Rails 3 App mit Devise Laden vorhandener Benutzer

Jetzt müssen wir eine große Menge bestehender Benutzer aus einem alten System importieren. Wir möchten, dass dies manuell durchgeführt wird, um den Prozess zu testen.

Das Problem ist also, wir möchten keine Bestätigungs-E-Mails an diese Benutzer senden.

Haben Sie Vorschläge, wie wir E-Mails entweder unterdrücken und den Registrierungsprozess dennoch manuell abschließen können?

Dom

Antwort

1

Mit Blick auf die confirmable Quellcode, so scheint es, als ob es keine E-Mails nicht senden, wenn der Benutzer bestätigt auf erstellen gesetzt.

Als Erstes müssen Sie bestimmen, ob der neu erstellte Benutzer eine E-Mail erhalten soll oder nicht. Ich würde vorschlagen, eine Checkbox zum Formular hinzufügen oder alternativ Querverweise die E-Mail-Adresse gegen die alte Benutzer-Tabelle:

def create 
    # Form style 
    skip_email? = params[:user].delete(:skip_email) 

    # Old users style 
    skip_email? = !!OldUser.find_by_email(params[:user][:email]) 

    @user = User.new(params[:user]) 
    ... 
end 

Sie eine der beiden getan haben Angenommen, Sie haben einen Booleschen Wert von skip_email?. Jetzt können Sie tun:

def create 
    skip_email? = true # See above 

    @user = User.new(params[:user]) 
    @user.skip_confirmation! 

    if @user.save 
    ... 
    end 
end 

skip_confirmation! ist eine Methode entwickeln, um dem User-Modell erstellt. Sie finden den Devise-Quellcode here.

Verwandte Themen