在heroku上使用delayed_job的Actionmailer nomethoderror

时间:2013-09-06 05:41:16

标签: actionmailer delayed-job

我正在创建一个允许用户介绍其他两个用户的网站。然后通过电子邮件通知用户已为其创建匹配的消息。

使用delayed-job在本地工作正常,但在部署到heroku时我遇到了一个奇怪的错误:

  

String#notify_new_match因NoMethodError失败:未定义方法`notify_new_match'代表“UserMailer”:字符串

这是控制器代码:

UserMailer.delay.notify_new_match(current_user, match_email, params[:note])

Mailer代码:

class UserMailer < ActionMailer::Base
  def notify_new_match(user, email, message)        
    @message = message
    mail(:to => email,
         :subject => "#{user.first_name} wants to introduce you")
  end
end

相关的宝石:

gem 'rails', "~> 3.2.0"
gem 'delayed_job_active_record'
gem 'activerecord-import'
gem 'thin'
gem 'pg'

1 个答案:

答案 0 :(得分:0)

终于让它恢复了工作。将此行添加到Procfile。

worker:  bundle exec rake jobs:work

现在似乎没事。