У меня есть специальная программа разработки, где я переопределил несколько методов разработки. один из них - метод изменения электронной почты.
Это мой переопределенный метод в User.rb.
def send_email_changed_notification
CustomDeviseMailer.process_mail_later(:email_changed, self, to: email_before_last_save)
end
Пользовательская программа разработки использует Sidekiq в качестве фонового задания для отправки электронного письма. В моем почтовом ящике с пользовательским устройством у меня есть этот код.
class CustomDeviseMailer < Devise::Mailer
// other codes
def email_changed(record, opts = {})
super
end
Ниже приведено сообщение электронной почты. html .erb content.
<p>Hello <%= @email %>!</p>
<% if @resource.try(:unconfirmed_email?) %>
<p>We're contacting you to notify you that your email is being changed to
<%=@resource.unconfirmed_email %>.</p>
<% else %>
<p>We're contacting you to notify you that your email has been changed to
<%= @resource.email %>.</p>
<% end %>
Моя проблема заключается в том, что в электронной почте устройства пишите значение не обновляется. Пользовательский объект получает правильное значение. Ниже приведен адрес электронной почты для справки.
Hello old_email@mail.com
We're contacting you to notify you that your email has been changed to old_email@mail.com
Ожидаемый результат здесь.
Hello old_email@mail.com
We're contacting you to notify you that your email has been changed to new_email@mail.com