method
handle_dependency
rails latest stable - Class:
ActiveRecord::Associations::BelongsToAssociation
handle_dependency()public
No documentation available.
# File activerecord/lib/active_record/associations/belongs_to_association.rb, line 7
def handle_dependency
return unless load_target
case options[:dependent]
when :destroy
raise ActiveRecord::Rollback unless target.destroy
when :destroy_async
if reflection.foreign_key.is_a?(Array)
primary_key_column = reflection.active_record_primary_key.map(&:to_sym)
id = reflection.foreign_key.map { |col| owner.public_send(col.to_sym) }
else
primary_key_column = reflection.active_record_primary_key.to_sym
id = owner.public_send(reflection.foreign_key.to_sym)
end
enqueue_destroy_association(
owner_model_name: owner.class.to_s,
owner_id: owner.id,
association_class: reflection.klass.to_s,
association_ids: [id],
association_primary_key_column: primary_key_column,
ensuring_owner_was_method: options.fetch(:ensuring_owner_was, nil)
)
else
target.public_send(options[:dependent])
end
end