我在标准化 UPC 字符串代码时遇到了一些问题,以便我可以将它以相同的格式存储在数据库中。
我正在使用ean
gem 来检查字符串是否良好(工作正常),但是如果我在它验证后抛出一些赋值代码,例如:
validate :upc_check
def upc_check
if !upc.nil?
if !upc.ean?
errors.add(:upc, 'is not a valid UPC.')
else
upc = upc.strip
end
end
end
strip 调用只是一个示例,因为它是一个字符串。我实际上将删除 upc 中的破折号。
上面的代码效果不佳,因为它实际上并没有保存它。我看过触发类似的方法
after_validation :normalize_upc
def normalize_upc
upc = upc.strip
end
..但上述也不起作用。
你们在验证后如何验证和转换数据?