class Avo::Fields::BelongsToField

def target_resource(record: @record, polymorphic_model_class: value&.class)

def target_resource(record: @record, polymorphic_model_class: value&.class)
  @target_resource ||= if use_resource.present?
    use_resource
  elsif is_polymorphic?
    if polymorphic_model_class.present?
      get_resource_by_model_class(polymorphic_model_class)
    else
      return nil
    end
  else
    reflection_key = polymorphic_as || attribute_id
    reflection_object = record.class.reflect_on_association(reflection_key)
    if (link_to_child_resource || @resource&.link_to_child_resource) && value.present?
      get_resource_by_model_class(value.class.to_s)
    elsif reflection_object.klass.present?
      get_resource_by_model_class(reflection_object.klass.to_s)
    elsif reflection_object.options[:class_name].present?
      get_resource_by_model_class(reflection_object.options[:class_name])
    else
      App.get_resource_by_name reflection_key
    end
  end
end