我有一个mail_receiver,通过pop将我的电子邮件拉出来,然后将这条消息传递给我的DropBoxMailer:
DropBoxMailer.receive(email.pop)
我需要将变量传递给DropBoxMailer类,因此需要执行类似这样的操作
DropBoxMailer.receive(email.pop, another_var)
有谁知道如何正确地做到这一点?
因为接收只需要1个而不是2个参数吗?
感谢 瑞克
答案 0 :(得分:0)
你可以这样做:
class DropBoxMailer < ActionMailer::Base
# redefine ActionMailer.receive with an additional parameter
def self.receive(raw_mail, email_account, another_var)
ActiveSupport::Notifications.instrument("receive.action_mailer") do |payload|
mail = Mail.new(raw_mail)
set_payload_for_mail(payload, mail)
new.receive(mail, another_var)
end
end
def receive(mail, another_var)
..
end
end
请参阅example