6

Ich versuche Active Job mit Rails 4 und Devise einzurichten. Ich bin für jedes Tutorial offen, wenn es irgendwelche gibt (konnte nicht durch meine Suche finden.)Aktiver Job mit Rails 4 und Devise

Ich weiß, dass es eine Devise Async gem gibt, aber es deckt Active Job darin nicht ab. Das sagte, ich fand this gem das ist frisch in der Entwicklung, aber ich bekomme einen uninitialized constant Devise::Async::Backend::Base (NameError) Fehler. (Könnte ich luftig sein bei der Umsetzung).

Alle Vorschläge sind willkommen. Ich hoffe, ich muss keine neuen Controller-Methoden erstellen.

Antwort

13

Sie können den folgenden Code in die gewünschte Modell enthalten (normalerweise User):

def send_devise_notification(notification, *args) 
    devise_mailer.send(notification, self, *args).deliver_later 
end 

Sie einen Blick auf die folgende Seite für weitere Informationen nehmen können: http://www.sitepoint.com/devise-authentication-in-depth/

+1

Dies ist die offiziell empfohlen zu sein scheint Technik jetzt in Devise README: https://github.com/plataformatec/devise#activejob-integration – stevo

+0

Danke für das Update @stevo! – mrstif

+1

hmmm ... ich nehme es halb zurück. Wie pro https://github.com/plataformatec/devise/issues/3550#issuecomment-94248927 (und kommentiert das Verfahren https://github.com/plataformatec/devise/blob/2f0002a449a8b9616d51127dc6247bfd8414523d/lib/devise/models/authenticatable. rb # L123), könnte es komplizierter sein, wenn Sie integrierte Gerätebenachrichtigungen zur Benutzererstellung verwenden. 'deliver_later' funktioniert wahrscheinlich nur für zuvor gespeicherte Datensätze, nicht für neue Datensätze. – stevo