Module: ActiveRecord::ValidateUniqueChildAttribute

Extended by:
ActiveSupport::Concern
Defined in:
lib/active_record/validate_unique_child_attribute.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#validate_uniqueness_of_child_attribute(relation, attribute, options, &block) ⇒ Object



18
19
20
21
22
23
# File 'lib/active_record/validate_unique_child_attribute.rb', line 18

def validate_uniqueness_of_child_attribute(relation, attribute, options, &block)
  records = send(relation)
  records.each(&:valid?) if options[:validate]
  dups = detect_duplicate_child_attributes(records, attribute, options)
  dups.empty? || set_duplicate_child_attribute_errors(relation, attribute, dups, options, &block)
end