像一般判断是否非空,或者是数字长度,比较容易理解整个实现过程。 可是像validates_uniqueness_of这类型,需要从数据库中找出答案的?又是怎么个运作过程呢?
validates_uniqueness_of
不知道怎么找到对应的源码,想问一问是怎么样的实现过程?是每一次录入,就便利数据库吗?是一个where(xx: xx).any?来判断的吗?
where(xx: xx).any?
https://github.com/rails/rails/blob/c5fc7b55647028115fd532ba0ffacd44112de318/activerecord/lib/active_record/validations/uniqueness.rb