我正在尝试使用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 !
正在运行。
关于我做错的任何想法?