在 EAN-13 下为 Barby gem 生成条形码
generating barcode for Barby gem under EAN-13
在尝试在 HTML 中呈现文章条形码集合并逐步查看数据(相对于页面上的其他对象)时,控制器
require 'barby/outputter/html_outputter'
require 'barby/barcode/ean_13'
并且视图调用
<%= this_barcode = article.barcodes.first.barcode %>
<%= this_barcode.class %>
<%# barcode = Barby::EAN13.new(this_barcode) %>
<%# outputter = Barby::HtmlOutputter.new(barcode) %>
<%# barcode.to_html.html_safe %>
[returns as expected]
8001300303466 String
然而,当想要获取条形码并取消注释该元素时,它无法处理,因为 data not valid
行 barcode = Barby::EAN13.new(this_barcode)
(也出现在 barcode = Barby::EAN13.new(this_barcode.to_i)
)
注意 可能在花园小路上,因为 what the wiki suggests 和
有混淆
barcode = Barby::DataMatrix.new(number)
因为那样会产生错误
uninitialized constant Barby::DataMatrix
如何确保数据正确以正确呈现?
这是问题所在:
8001300303466
有 13 个字符。这是正确的条形码。
我假设可以提交正确的条形码。然而line 54 of the gem's ean_13.rb file
允许 12 个字符的数据元素 FORMAT = /^\d{12}$/
并继续计算校验位。
因此,
<%= barcode = Barby::EAN13.new(this_barcode[0...-1]) %>
最终会正确处理数据。
在尝试在 HTML 中呈现文章条形码集合并逐步查看数据(相对于页面上的其他对象)时,控制器
require 'barby/outputter/html_outputter'
require 'barby/barcode/ean_13'
并且视图调用
<%= this_barcode = article.barcodes.first.barcode %>
<%= this_barcode.class %>
<%# barcode = Barby::EAN13.new(this_barcode) %>
<%# outputter = Barby::HtmlOutputter.new(barcode) %>
<%# barcode.to_html.html_safe %>
[returns as expected]
8001300303466 String
然而,当想要获取条形码并取消注释该元素时,它无法处理,因为 data not valid
行 barcode = Barby::EAN13.new(this_barcode)
(也出现在 barcode = Barby::EAN13.new(this_barcode.to_i)
)
注意 可能在花园小路上,因为 what the wiki suggests 和
有混淆
barcode = Barby::DataMatrix.new(number)
因为那样会产生错误
uninitialized constant Barby::DataMatrix
如何确保数据正确以正确呈现?
这是问题所在:
8001300303466
有 13 个字符。这是正确的条形码。
我假设可以提交正确的条形码。然而line 54 of the gem's ean_13.rb file
允许 12 个字符的数据元素 FORMAT = /^\d{12}$/
并继续计算校验位。
因此,
<%= barcode = Barby::EAN13.new(this_barcode[0...-1]) %>
最终会正确处理数据。