2013-06-12 2 views
1

У меня есть таблица без экрана для страницы контактов с помощью MailForm (plataformatec). Я хотел переместить отправку почты в фоновый процесс с использованием Sidekiq, но он опирается на идентификатор данной модели.Sidekiq с нетбукой Модель

Кто-нибудь знает, как я могу отправить эту электронную почту в фоновый процесс?

Это моя модель

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 => "[email protected]", 
     :from => %("#{name}" <#{email}>) 
    } 
    end 
end 

ответ

0

Ну, если не пребудут его вам нужно передать все данные в Sidekiq. Вы могли бы, например, передать его как хэш.

class ContactMailFormWorker 
    include Sidekiq::Worker 

    def perform(attributes) 
    contact = Contact.new attributes 
    contact.deliver 
    end 
end 

В вашем контроллере, модели или любой другой

ContactMailFormWorker.perform_async contact.attributes 
Смежные вопросы