我的应用程序中有两个不同的过程,之后我想在每个过程完成后向用户发送确认电子邮件。我可以创建两个单独的邮件程序。 BankProcessMailer
和ShopProcessMailer
,但它们将包含以下相同的代码:
class BankProcess < BaseMailer
layout 'bank_process'
def send_email(email)
mail_headers = headers(email)
mail(mail_headers)
end
private
def headers(email)
super(email).merge(subject: 'Bank process')
end
end
是否有机会用两个不同的视图和主题来处理一个邮件程序,以避免代码重复并且不像下面这样为ShopProcessMailer
创建新邮件程序?
class ShopProcess < BaseMailer
layout 'shop_process'
def send_email(email)
mail_headers = headers(email)
mail(mail_headers)
end
private
def headers(email)
super(email).merge(subject: 'Shop process')
end
end