class Avo::Fields::BelongsToField

def fill_field(model, key, value, params)

def fill_field(model, key, value, params)
  return model unless model.methods.include? key.to_sym
  if polymorphic_as.present?
    valid_model_class = valid_polymorphic_class params["#{polymorphic_as}_type"]
    model.send("#{polymorphic_as}_type=", valid_model_class)
    # If the type is blank, reset the id too.
    if valid_model_class.blank?
      model.send("#{polymorphic_as}_id=", nil)
    else
      model.send("#{polymorphic_as}_id=", params["#{polymorphic_as}_id"])
    end
  else
    model.send("#{key}=", value)
  end
  model
end