用户有姓名,电子邮件和城市。
任何2都可以复制,但不是全部3:
validates_uniqueness_of :name, scope:[ :email, :city ]
这很好用。如何添加以下约束?
电子邮件唯一性case_sensitive: false
城市唯一性allow_blank: true
。如果城市为空,则具有相同电子邮件和姓名的多个用户有效。
Rails 4.2.5
答案 0 :(得分:1)
试试这个
validates_uniqueness_of :name, scope:[ :email, :city ] if: Proc.new { |tbl| !tbl.city.blank? }