2017-10-18 2 views
0

Ich muss verschiedene Bestätigungs-E-Mails senden, während Sie Devise verwenden.Senden Sie verschiedene Bestätigungs-E-Mails mit Devise

Wenn sich ein Benutzer von einer Subdomain aus anmeldet, erhält er eine andere Bestätigungs-E-Mail. Wenn sich ein Benutzer aus der Stammdomäne anmeldet, erhält er eine andere E-Mail.

Wie kann ich das erreichen?

Edit:

I erstellt MyDeviceMailer

class MyDeviseMailer < Devise::Mailer 
    layout 'mailers' 

    # To make sure that your mailer uses the devise views 
    default template_path: 'devise/mailer' 

def confirmation_instructions(record, token, options={}) 
    # Use different e-mail templates for signup e-mail confirmation 
    # and for when a user changes e-mail address. 
    if request.subdomain? 
    options[:template_name] = 'confirmation_instructions_sub' 
    else 
    options[:template_name] = 'confirmation_instructions' 
    end 
    super 
    end 
end 

und in meiner devise.rb Datei hinzugefügt I

config.mailer = 'MyDeviseMailer'

+1

Können Sie uns zeigen, was Sie bereits versucht? – siegy22

+0

Hinzugefügt, was ich bisher gemacht habe –

Antwort

0

Ok, so dass ich endlich gelöst dieses Problem. Anstatt in all diese Komplexitäten zu kommen, ersetzen Sie einfach Ihren Bestätigungslink mit

<%= link_to 'Confirm my account', user_confirmation_url(confirmation_token: @token, subdomain: Apartment::Tenant.current) %> 
Verwandte Themen