Entwickeln, wie zum überschreiben send_confirmation_instructions
Ich versuche das überschreiben der Methode 'send_confirmation_instructions', wie hier gezeigt:
http://trackingrails.com/posts/devise-send-confirmation-mail-manually-or-delay-them
mit:
def send_confirmation_instructions
generate_confirmation_token! if self.confirmation_token.nil?
::Devise.mailer.delay.confirmation_instructions(self)
end
Dieser scheint nicht mehr zu funktionieren mit der aktuellsten version von entwickeln. Das Gerät docs zeigen, wie überschreiben eines Controllers, aber nicht ein Modell. Irgendwelche Vorschläge, wie zu überschreiben, ein Modell entwickeln? Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie set-up Erarbeiten, das Sie es sagen, welches Modell es funktioniert auf (z.B. Benutzer); viele/die meisten seiner Methoden gelten dann für diese Klasse. Also das ist, wo Sie wollen, zu überschreiben Zeug.
Hier mal ein Kommentar aus dem code Entwickeln bei
lib/devise/models/authenticatable.rb
beschreibt ziemlich genau das, was Sie tun wollen, wenn ich lese richtig.send_devise_notification
in Ihrem Benutzer-Modell. Ich konnte das abfangen der Benachrichtigung (ich schickte somethig, um das Protokoll zu beweisen, dass es funktioniert) mit einer aktuellen version Entwickeln. Aber um alles arbeiten, Lesen Sie den Kommentar-es ist nicht nur eine Frage der Definition die Methode, Sie müssen auch hinzufügen, dieafter_commit
filter zu bauen, bis die verzögerte job (oder was auch immer) Warteschlange.devise :confirmable
(und andereable
Optionen), um Ihre Benutzer-Modell, Sie sind in der Tat einschließlich Ihrer Methoden in den Benutzer. So überschreiben die spezifische Methodesend_confirmation_instructions
(definiert inlib/devise/models/confirmable.rb
) Sie erklären würde, Sie in Ihrem Benutzer-Modell. Sie können immer noch überschreiben müssensend_devise_notification
wenn das, was Sie wollen, ist das verzögerte senden. Ich sehe nicht, etwas gebaut zu Entwickeln (aktuelle version), die speziell verwaltet verzögert senden, so vielleicht das ist, was nicht "Klick".Warum nicht entwickeln-async?