0
class Person
  validates :full_name, presence: true
  validates :display_name, unique: ???
  attr_acessible :full_name, :display_name
end

全名不能唯一,但显示名必须唯一。如果我想将 full_name 作为后备,但我仍然想检查 display_name 的唯一性。

验证唯一性coalesce(display_name, full_name)或达到相同效果所需的任何东西的最干净的方法是什么?

4

1 回答 1

-1

如果不是,这可能是您所追求的,请进一步解释合并 validates :display_name, uniqueness => true

更新

在评论中附加信息后

validates :display_name, :uniqueness => {:scope => :full_name}

如果这不符合您的要求,那么

validates :coalesce

def coalesce
  #put your validation in the method here i.e
  if self.display_name == false
    #then check full_name etc.
  end
end
于 2013-01-14T01:42:12.697 回答