Hoe kan ik een e-mail ter bevestiging van de registratie sturen met bedenktijd

Ik ben een rails3-applicatie aan het bouwen (gehost op Heroku) en ik gebruik devise voor gebruikersauthenticatie. Ik wil graag een bevestigings-e-mail sturen telkens wanneer een nieuwe gebruiker zich aanmeldt bij mijn app, wat bevestigt dat hij zich heeft aangemeld etc.

Opmerking: ik wil zijn e-mailadres niet bevestigen, d.w.z. ik wil de: confirmable devise module niet gebruiken.

Het probleem is dat ik geen relevante controlleractie voor gebruiker of gebruiker kan vinden om een ​​actie mailer .deliver toe te voegen.

Bedankt voor je hulp!

1

1 antwoord

Hoe zit het met het afvuren van uw model (user.rb)?

#user.rb
after_create :some_method
def some_method
  YourMailerObject.deliver_some_message()
end 
3
toegevoegd
Hallo Craig en bedankt voor je antwoord. Inderdaad, wat u suggereert werkt prima. Ik probeer nu te berekenen hoe het nieuw gecreëerde gebruikersrecord kan worden doorgegeven aan de actiemailerklasse. Ik probeerde zoiets als: after_create: send_newuser_emails def send_newuser_emails() Sender.signup_newuser_admin (self.username, self.email) .deliver end maar de doorgegeven vars zijn leeg. Om het even welke ideeën?
toegevoegd de auteur Alex, de bron
Hallo Craig, Passing 'self' heeft het gedaan! Hartelijk bedankt voor je hulp! PS: ik gebruik Aptana Studio 3, ik heb geprobeerd een breekpunt toe te voegen, maar het werkt niet (dat wil zeggen dat de uitvoering niet stopt om de lijn te inspecteren). Weet niet wat ik verkeerd doe ...
toegevoegd de auteur Alex, de bron
Geen probleem, Alex! Ik geloof dat je alleen jezelf (dat wil zeggen YourMailerObject.deliver_some_message (zelf) aan het bezorgingsbericht van de mailer moet doorgeven omdat het gebeurt op het object zelf nadat het is gemaakt.) Als je een IDE van Ruby/Rails gebruikt (bijvoorbeeld Aptana of RubyMine) , je kunt vrij gemakkelijk debuggen en zien wat 'zelf' bevat binnen die methode op een breekpunt ... slechts een gedachte!
toegevoegd de auteur craig.kaminsky, de bron
Zoet! Blij dat het gelukt is. Ik gebruik ook Aptana Studio 3. Ik herinner me wat plezier met het opsporen van foutopsporing ... in de terminalweergave in Aptana, de edelstenenlijst uitvoeren en zorgen dat de uitvoer laat zien dat de volgende edelstenen zijn geïnstalleerd: ruby-debug-base19 (0.11.25 - of welke huidige versie dan ook zou kunnen hebben) ruby-debug-ide (0.4.16)
toegevoegd de auteur craig.kaminsky, de bron