所以我有一个表单,用户可以输入价格。我试图做一个before_validation来标准化数据,如果用户放置数据,则剪裁$。转换用户输入为整数
before_validation do
unless self.price.blank? then self.price= self.price.to_s.gsub(/\D/, '').to_i end
end
如果用户输入$ 50这个代码是给我0。如果用户输入50 $这段代码给了我50.我认为,因为数据类型是整数,Rails是之前我before_validation运行.to_i和裁剪一切$之后。如果数据类型是字符串,这个相同的代码工作正常。
任何人都有一个解决方案,可以让我保持整数数据类型?
谢谢。我一直认为使用before_validation非常笨拙。这绝对是更优雅。 – 2012-03-22 08:17:28