Rails:从模型中获取具有唯一性验证的属性列表

Pla*_*Ton 2 validation ruby-on-rails activemodel

只是想知道是否可以返回具有唯一性验证的所有属性的列表?例如,我有一个模型Person - 我想返回'Person'中具有唯一性约束的属性列表.有任何想法吗?

eug*_*gen 7

你可以做点什么

Person.validators.select { |v| v.is_a?(ActiveRecord::Validations::UniquenessValidator) }

获取Person模型的唯一性验证器列表.每个验证器都有一个@attributes实例变量,这就是您可能需要的.