Class: NestedAttributesUniquenessValidator
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- NestedAttributesUniquenessValidator
- Defined in:
- app/validators/nested_attributes_uniqueness_validator.rb
Overview
Instance Method Summary collapse
Instance Method Details
#validate_each(record, attribute, value) ⇒ Object
3 4 5 6 7 8 9 |
# File 'app/validators/nested_attributes_uniqueness_validator.rb', line 3 def validate_each(record, attribute, value) unless value.map(&[:field]).uniq.size == value.size record.errors.add attribute, "must be unique" duplicates = value - Hash[value.map{|obj| [obj[[:field]], obj]}].values duplicates.each { |obj| obj.errors.add [:field], "has already been taken" } end end |