Method: ActiveRecord::Associations::HasOneAssociation#handle_dependency

Defined in:
lib/active_record/associations/has_one_association.rb

#handle_dependencyObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/active_record/associations/has_one_association.rb', line 7

def handle_dependency
  case options[:dependent]
  when :restrict, :restrict_with_exception
    raise ActiveRecord::DeleteRestrictionError.new(reflection.name) if load_target

  when :restrict_with_error
    if load_target
      record = klass.human_attribute_name(reflection.name).downcase
      owner.errors.add(:base, :"restrict_dependent_destroy.one", record: record)
      false
    end

  else
    delete
  end
end