在数据库中将空值保存为nil

时间:2010-11-28 11:39:01

标签: ruby-on-rails

我有一个网页,其中提供了一些信息。但有些价值可能是空白的。但是,如果我已经不止一次地保存了我的处方集,并且如果已经采用了值,那么就会有一些空白值。这是正常的,因为我使用:validates_uniqueness_of

我的问题是:如果我将值保存为零,这个问题是否会被解决?如果是,如何保存值为零。或者其他解决方案是什么?

提前致谢。

2 个答案:

答案 0 :(得分:2)

我个人不会像vise一样使用:allow_blank进行验证,并且有一个before_validation回调,如果value.blank将值设置为nil?

类似的东西:

private

def strip_spaces
  attrib = nil if attrib.blank?
end

这样做的原因是,查找未设置值的查询将属于where attrib is null而不是where trim(attrib) = '' or attrib is null

答案 1 :(得分:1)

它在文档中。

validates_uniqueness_of :my_value, :allow_blank => true