2017-01-13 1 views
1

Je l'ai configuré pour envoyer un email à un nouvel utilisateur après son inscription. À l'heure actuelle, il envoie un courriel à n'importe quel nouvel utilisateur. J'ai aussi un deuxième moyen qu'un utilisateur peut s'inscrire, qui a un booléen is_admin. Donc, quand ils s'inscrivent dans la deuxième manière, ils obtiennent le is_admin est vrai booléen.Rails ActionMailer: Envoyer un e-mail uniquement si @user a is_admin aussi

Je veux configurer mon UserMailer là-bas pour l'envoyer uniquement aux personnes qui créent un nouveau compte sur la deuxième voie et obtient le is_admin = "true".

+0

'is_admin' est un attribut de modèle? Si c'est le cas, vous pouvez mettre un 'return sauf si @ user.is_admin' en haut. Mais je pense que je n'ai pas bien compris ... – mrlew

+0

@mrlew C'est dans le schéma: http://image.prntscr.com/image/301a780f7b454277a8453783b1f36d6b.png – Raidspec

+0

Si vous voulez contourner l'envoi d'e-mails, il vous suffit de retourner la méthode, comme je l'ai dit avant. Est-ce que c'est ça? Ou j'ai mal compris? – mrlew

Répondre

-2
class UserMailer < ActionMailer::Base 
    def welcome_email(user) 
    @user = user 
    if @user.is_admin 
     mail(to: @user.email, 
     from: "Thinkrtc", 
     subject: "Welcome To Thinkrtc" 
    ) 
    end 
    end 
end 

Ceci enverra un email si l'utilisateur a is_admin == true.

+1

Cela a fonctionné et merci pour l'édition Carl. – Raidspec