Ruby on rails 访问rails邮件拦截器的多个默认参数(to、from、subject、reply_to)
我在一个名为Ruby on rails 访问rails邮件拦截器的多个默认参数(to、from、subject、reply_to),ruby-on-rails,ruby,Ruby On Rails,Ruby,我在一个名为notification\u mailer.rb的邮件程序中有一个方法: def reminder_email @community = @reminder.community subject = "random subject text" mail(from: address_for(support), reply_to: address_for(support), to: to_address, subject: subject) end class C
notification\u mailer.rb的邮件程序中有一个方法:
def reminder_email
@community = @reminder.community
subject = "random subject text"
mail(from: address_for(support), reply_to: address_for(support), to: to_address, subject: subject)
end
class CheckMailSettings
def self.delivering_email(mail)
if @community.status = "mute"
mail.perform_deliveries = false
end
end
end
ActionMailer::Base.register_interceptor(CheckMailSettings)
我正在尝试使用邮件拦截器检查邮件设置。rb
:
def reminder_email
@community = @reminder.community
subject = "random subject text"
mail(from: address_for(support), reply_to: address_for(support), to: to_address, subject: subject)
end
class CheckMailSettings
def self.delivering_email(mail)
if @community.status = "mute"
mail.perform_deliveries = false
end
end
end
ActionMailer::Base.register_interceptor(CheckMailSettings)
但是这个拦截器实际上没有访问@community
变量的权限。我试着在notification\u mailer.rb的邮件调用中传递它,就像这样
mail(community: @community, from: address_for(support).....)
并在拦截器中访问它检查邮件设置.rb
如下
mail.community
但这也不起作用
我有没有办法在拦截器中访问这个@community
变量检查邮件设置.rb
,或者我需要在通知邮件.rb
中做任何涉及@community
的条件,这是可能的
在拦截器中,您会得到一个Mail::Message
的实例。它可以访问您传递到邮件中的任何内容
因此,在您提供的示例中
mail[:community].value