我有一个使用MailForm(plataformatec)的联系页面的无表格模型。我想使用Sidekiq将邮件发送到后台进程,但它依赖于给定Model的id。
有谁知道如何将此电子邮件发送到后台进程?
这是我的模特
class Contact < MailForm::Base
attribute :name, :validate => true, :message => "aaa"
attribute :email, :validate => /\A([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})\z/i
attribute :phone, :validate => true
attribute :nickname, :captcha => true
def headers
{
:subject => "#{name}",
:to => "test@test.com",
:from => %("#{name}" <#{email}>)
}
end
end
答案 0 :(得分:0)
好吧,如果你不坚持它,你需要将所有数据传递给Sidekiq。例如,您可以将其作为哈希传递。
class ContactMailFormWorker
include Sidekiq::Worker
def perform(attributes)
contact = Contact.new attributes
contact.deliver
end
end
在您的控制器,型号或其他
中ContactMailFormWorker.perform_async contact.attributes