【发布时间】:2011-11-07 18:50:10
【问题描述】:
我真的应该知道这个……但我不知道。这是 gem 文档中提供的一种方法,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
我收到 Barby 错误“数据无效”
【问题讨论】:
-
您确定您的 isbn id 始终有效吗?
data not valid error可能来自那个。 -
id 是,因为它是应用创建的主键整数。我故意给它一个无效的 ISBN13 (productidentifier_idvalue)。
标签: ruby-on-rails methods gem