我真的应该知道这个......但我不知道。这里的是Barby了宝石的文档中提供了一种方法,:关于如何调用方法的基本问题
valid?()
,这里是一个有效的回调在我的模型:
require 'barby'
require 'barby/barcode/bookland'
def barcode
if Barcodeimg.find_by_isbn_id(self.id).nil?
barcode = Barby::Bookland.new("'#{self.productidentifier_idvalue}'")
my_bc = Barcodeimg.new(:client_id => self.client_id, :isbn_id => self.id)
f = File.open("barcode.png", 'w+')
f.write barcode.to_png
my_bc.image = f
my_bc.save!
end
end
但是,有时我得到一个“数据无效”错误,所以我想,显然,使用有效的?方法。但我不知道该怎么称呼它。如果我做
if self.productidentifier_idvalue.valid?
我得到
undefined method `valid?' for "9781551113180":String
编辑:更多的错误:
如果我做
barcode = Barby::Bookland.new("'#{self.productidentifier_idvalue}'")
if barcode.valid?
#more
我得到的巴比错误 '无效数据'
你确定你的ID是一直有效吗? “数据无效错误”可能来自于此。 –
该ID是,因为它是由应用程序创建的主键整数。我一直故意给它一个无效的ISBN13(productidentifier_idvalue)。 – snowangel