Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 访问rails邮件拦截器的多个默认参数(to、from、subject、reply_to)_Ruby On Rails_Ruby - Fatal编程技术网

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