使用Devise发送不同的确认电子邮件

时间:2017-10-18 13:31:28

标签: ruby-on-rails devise devise-confirmable

我需要在使用Devise时发送不同的确认电子邮件。

因此,当用户从子域注册时,他们会收到不同的确认电子邮件,当用户从根域注册时,他们会收到不同的电子邮件。

我怎样才能做到这一点?

编辑:

我创建了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

并在我的devise.rb文件中添加了

config.mailer =&#39; MyDeviseMailer&#39;

1 个答案:

答案 0 :(得分:0)

好的,所以我终于解决了这个问题。而不是陷入所有这些复杂性,只需用

替换您的确认链接
<%= link_to 'Confirm my account', user_confirmation_url(confirmation_token: @token, subdomain: Apartment::Tenant.current) %>