实现自定义验证的最佳轨道方式



我正在寻找实现自定义验证的最佳方法。我知道这一点:

validates :email, :uniqueness => {:scope => :user_id}

它工作得很完美。但是,我想做这样的事情(虚构的案例,但它很好地说明了):

validates :email, :uniqueness => {:scope => 'user.name'}

我正在考虑使用rails-cast中解释的海关验证,但使用模块似乎有点过头了。

有人吗?

使用验证方法。

class Model
  validate :validate_email_with_scope
  private
    def validate_email_with_scope
      if Model.where(...).any?
        errors.add(:email, 'is not unique')
      end
    end
end

用查询替换Model.where(...).any?

相关内容

  • 没有找到相关文章

最新更新