检查rails中的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 .这工作得很好。和i;m validates_uniqueness_of :email, :scope => [:invite_id],但它不允许我为不同的:random_no输入相同的:email。我必须放或条件。它正在检查:invite_id,但如果:invite_id不存在,我想检查:random_no。但它不允许我为不同的:random_no输入:email

任何想法?

听起来你的作用域设置不正确。您应该在random_no上设置作用域:

validates_uniqueness_of :email, scope: [:invite_id, :random_no]

相关内容

  • 没有找到相关文章

最新更新