Ruby on rails 电子邮件正文未使用Action Mailer和Resque发送

Ruby on rails 电子邮件正文未使用Action Mailer和Resque发送,ruby-on-rails,ruby-on-rails-3,actionmailer,resque,Ruby On Rails,Ruby On Rails 3,Actionmailer,Resque,我正在使用ActionMailer和Resque排队处理电子邮件。我也不太熟悉,但我有基本的知识。现在我正在调试,为什么在将电子邮件排队时,电子邮件会被发送,但没有正文。。迷惑 当我执行ArtisterMinderWorker.perform8.2时,电子邮件将与正文一起发送。非常成功 当我执行Resque.enqueueArtisterMinderWorker,8,2时,发送的电子邮件没有正文。神秘 我认为这两种说法在功能上是一样的,不是吗 起初我认为Resque工作程序无法查找记录,所以我将

我正在使用ActionMailer和Resque排队处理电子邮件。我也不太熟悉,但我有基本的知识。现在我正在调试,为什么在将电子邮件排队时,电子邮件会被发送,但没有正文。。迷惑

当我执行ArtisterMinderWorker.perform8.2时,电子邮件将与正文一起发送。非常成功

当我执行Resque.enqueueArtisterMinderWorker,8,2时,发送的电子邮件没有正文。神秘

我认为这两种说法在功能上是一样的,不是吗

起初我认为Resque工作程序无法查找记录,所以我将数据库查找从工作程序移到了mailer中,正好在mail命令之前

这是我的工人和邮递员课程

艺术家提醒工作者.rb

艺术家提示邮件.rb

我的看法是: 视图/艺术家提醒\u邮件器/艺术家提醒\u电子邮件.slim视图/艺术家提醒\u邮件器/艺术家提醒\u电子邮件.text.slim


让我知道如果我可以提供任何更多的细节,提前感谢

解决了它。实际上我并没有做错什么,而是因为我有一段时间没有重新启动worker-rake任务


我猜在更新Worker类时,必须重新启动Worker。。有道理。

我知道这不是一个直接的答案,但你不能换成延迟工作吗?;:我希望如此。我以前使用过DJ,但这个应用已经实现了几个Resque Emailer。这是令人沮丧的,因为我有几乎相同的代码
class ArtistReminderWorker
  @queue = :artist_reminders_queue
  def self.perform(event_id, user_id)
    ArtistReminderMailer.artist_reminder_email(event_id, user_id).deliver
  end
end
class ArtistReminderMailer < ActionMailer::Base
  default from: 'no-reply@example.com'

  def artist_reminder_email(event_id, user_id)
    @user = User.find(user_id)
    @event = Event.find(event_id)
    @url = dashboard_url
    subject = "You have an upcoming gig at #{@event.venue.name}"
    mail(to: @user.email, subject: subject)
  end
end