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