1
我試圖移動當前的工作任務(在生產和控制檯)使用的delayed_job在Rails 2應用程序,但不斷收到錯誤:delayed_job的賦予「NameError:未初始化的常量」
ThermalImageJob failed with NameError: uninitialized constant Barby::Code128B
我已經通過其他人的代碼尋找一個無濟於事的答案。這裏是我的代碼:
/lib/thermal_image_job.rb
class ThermalImageJob < Struct.new(:order_id)
def perform
order = Order.find(order_id)
order.tickets.each do |ticket|
ticket.barcodes.each do |barcode|
barcode.generate_thermal_image
end
end
end
end
/app/controllers/orders_controller.rb
Delayed::Job.enqueue(ThermalImageJob.new(@order.id))
/app/models/barcode.rb
def generate_thermal_image(format=:gif)
filename = "#{barcode}_thermal.#{format}"
temp_file_path = File.join("#{RAILS_ROOT}", 'tmp', filename)
unless FileTest.exists?(temp_file_path)
barcode_file = File.new(temp_file_path, 'w')
code = Barby::Code128B.new(barcode)
....
end
寶石文件
gem "delayed_job", "2.0.7"
gem "daemons", "1.0.10"
這實際上是從巴比的安裝後的消息 - '巴比不再要求所有條碼符號系統默認。你將有 要求你需要的。例如,如果你需要EAN-13, 需要'barby/barcode/ean_13';有關符號體系及其文件名的完整列表,請參閱README.' – sevenseacat 2014-06-16 09:10:26