5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/active_model/validations/association.rb', line 5
def validate_each(record, attribute, value)
association_name = options.fetch :association, "#{attribute}".gsub(/(\w+)_id/, '\1')
association = record.send :"#{association_name}"
unless record.respond_to? "#{association_name}".to_sym
raise ArgumentError, "The #{association_name} association was not found!"
end
if value.blank?
record_error(record, attribute, error_message(:blank), value)
elsif association.nil?
record_error(record, attribute, error_message(:invalid), value)
end
end
|