class ActiveRecord::Validations::AssociatedValidator
:nodoc:
def record_validation_context_for_association(record)
def record_validation_context_for_association(record) record.custom_validation_context? ? record.validation_context : nil end
def valid_object?(record, context)
def valid_object?(record, context) (record.respond_to?(:marked_for_destruction?) && record.marked_for_destruction?) || record.valid?(context) end
def validate_each(record, attribute, value)
def validate_each(record, attribute, value) context = record_validation_context_for_association(record) if Array(value).reject { |association| valid_object?(association, context) }.any? record.errors.add(attribute, :invalid, **options.merge(value: value)) end end