我有一个用户数据库,它有公司列,它可以是空的,即null或可能包含一些值。但如果包含任何值,它应该是唯一的。如果我在模型中使用unique属性,则不允许为列提供多个空值。我正在使用Sqlite3 db。
答案 0 :(得分:0)
您可以使用模型验证来处理它。也许是这样的:
class User < ActiveRecord::Base
attr_accessible :company
validate do
if self.company && User.where(company: self.company).first
raise ArgumentError, "Company must be `nil` or unique"
end
end
end
这有点像黑客,但它应该符合你的需求。