在排队自定义作业时,Delayed_Job给出“unitilialized constant”

时间:2012-02-20 16:38:46

标签: ruby-on-rails ruby delayed-job

我正在尝试使用Rails 3.1.1中的delayed_job gem设置自定义作业。每当我排队自定义作业时,我的自定义作业都会出现名称错误。

以下是代码:

# POST /redemptions
def create
  @redemption = Redemption.new(params[:redemption])


  respond_to do |format|
    if @redemption.save
      @account = @redemption.coupon.merchant.account
      Delayed::Job.enqueue RedemptionJob.new(@account.id)
      format.json {render json: @redemption, status: :created, location: @redemption }
    else
      format.json {render json: @redemption.errors, status: :unprocessable_entity }
    end
  end
end

#  This code gives me the error "NameError (uninitialized constant RedemptionsController::RedemptionJob):
#  app/controllers/redemptions_controller.rb:9:in `block in create'
#  app/controllers/redemptions_controller.rb:6:in `create'"

我尝试过给RedemptionJob一个全局命名空间::RedemptionJob.new(...),但NameError消息仍然显示出来(只有RedemptionsController}。

RedemptionJob.rb存在于/ app / jobs /中,我重新启动了服务器以确保它已加载。 rake jobs:work !正在运行。

关于我做错的任何想法?

0 个答案:

没有答案