def disambiguate_fields
      if name_changed? # New, Updated
        fields = self.class.specific.where("LOWER(name) = LOWER(?)", self.name)
        fields.update_all(:disambiguate => fields.many?)
      end

      if name_was # Updated, Destroyed
        fields = self.class.specific.where("LOWER(name) = LOWER(?)", self.name_was)
        fields.update_all(:disambiguate => fields.many?)
      end
    end
def disambiguate_fields
      if name_changed? # New, Updated
        fields = self.class.specific.where("LOWER(name) = LOWER(?)", self.name)
        fields.update_all(:disambiguate => fields.many?)
      end

      if name_was # Updated, Destroyed
        fields = self.class.specific.where("LOWER(name) = LOWER(?)", self.name_was)
        fields.update_all(:disambiguate => fields.many?)
      end
    end
Finds all fields with the same name and ensures they know there is another field with the same name
 thus allowing us to have them a prefix that lets us identify them in a query string