我在检查有两个条件的validates_uniqueness_of时遇到问题。
班级名称为InviteGuest
class InviteGuest < ActiveRecord::Base
attr_accessible :invite_id, :email, :first_name, :last_name, :random_no
validates_presence_of :invite_id, :unless => :random_no?
validates_uniqueness_of :email, :scope => [:invite_id]
我在这里检查invite_id
或:random
号码是否存在。
所以我的:email
字段首先以独特的:random_no
进入。它工作得很好。我是; validates_uniqueness_of :email, :scope => [:invite_id]
但它不允许我输入相同的:email
对于不同的:random_no
。我必须提出或条件。它正在为:invite_id
查询,但如果:random_no
不存在,我想检查:invite_id
。但它不允许我为:email
输入:random_no
。
任何想法??
答案 0 :(得分:1)
听起来您的示波器设置不正确。您应该在random_no
:
validates_uniqueness_of :email, scope: [:invite_id, :random_no]