芭比 gem 没有生成 qr_code

Barby gem not generating qr_code

使用了barby gem documentation,下面是不生成二维码的,

require 'barby'
require 'rqrcode'
require 'barby/barcode/qr_code'
require 'barby/outputter/png_outputter'
qr_string = "8076809574693\r\n8076809574693\r\n8076809574693\r\n4017100364013\r\n4017100364013\r\n3017760002707\r\n8076809517706\r\n8013355999488\r\n"
qr_output = Barby::PngOutputter.new(qr_string).to_png
File.open('qrcode.png', 'wb'){|f| f.write qr_output }

因为它在 qr_output 的倒数第二行抱怨 NoMethodError (undefined method two_dimensional?'对于 #String:0x00007f903526c4c0)`
已安装的 gem

gem 'rqrcode', '~> 2.0'
gem 'barby', '~> 0.6.8'

注意:原始数据包含EAN-13代码的全部13个字符,当barby时,处理EAN-13符号仅接受12个字符作为输入并生成第13个字符(控制)本身。

这种方法有什么错误?

您不能将字符串直接传递给 PngOutputter。必须先经过芭比的二维码模块处理

require 'barby'
require 'rqrcode'
require 'barby/barcode/qr_code'
require 'barby/outputter/png_outputter'
qr_string = "8076809574693\r\n8076809574693\r\n8076809574693\r\n4017100364013\r\n4017100364013\r\n3017760002707\r\n8076809517706\r\n8013355999488\r\n"
qr_data = Barby::QrCode.new(qr_string)
qr_output = Barby::PngOutputter.new(qr_data).to_png
File.open('qrcode.png', 'wb'){|f| f.write qr_output }