在rails中检查validates_uniqueness_of中的两个值或条件

时间:2014-05-23 12:15:36

标签: ruby-on-rails activerecord activemodel validates-uniqueness-of

我在检查有两个条件的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

任何想法??

1 个答案:

答案 0 :(得分:1)

听起来您的示波器设置不正确。您应该在random_no

范围内
validates_uniqueness_of :email, scope: [:invite_id, :random_no]