class ActiveRecord::Associations::BelongsToPolymorphicAssociation

def replace_keys(record, force: false)

def replace_keys(record, force: false)
  super
  target_type = record ? record.class.polymorphic_name : nil
  if force || owner._read_attribute(reflection.foreign_type) != target_type
    owner[reflection.foreign_type] = target_type
  end
end