0

我正在使用 mail_form gem 并具有以下代码

 def create
    @contact = Contact.new(contact_params)
    @contact.request = request
    respond_to do |format|
      if @contact.deliver
        format.html { redirect_to root_path, notice: "Thank you for your message."}
      else
        format.html {render :new, error: "There was a problem with sending your message."}
      end
    end
  end

当我提交我的联系表格时,发送一条消息并重定向到主页需要几秒钟。

如何使用 sidekiq 使这个过程异步?

4

1 回答 1

-1

设置 Sidekiq 作为 Active Job 的后端 http://edgeguides.rubyonrails.org/active_job_basics.html

然后使用 ActionMailer 中的 deliver_later 方法

http://edgeapi.rubyonrails.org/classes/ActionMailer/MessageDelivery.html#method-i-deliver_later

于 2015-07-22T01:33:13.187 回答