/ / Ajout de groupes à compléter automatiquement - jquery, ruby-on-rails, autocomplete

Ajout de groupes à compléter automatiquement - jquery, ruby-on-rails, autocomplete

Je dois ajouter des groupes à un groupe déjà créé.liste déroulante autocomplete dans les rails. Je ne suis pas sûr de savoir par où commencer et je ne suis même pas sûr de l'appeler «groupes», mais je dois ressembler à la photo que j'ai postée. Je serais très reconnaissant si quelqu'un pouvait au moins m'indiquer. la bonne direction pour commencer.

http://imgur.com/XLYzeKa

Réponses:

0 pour la réponse № 1

Je pense que vous pouvez ajouter un champ enum à votre table de phrases pour les types (nom et verbe) ou ajouter un modèle pour les types si phrase peut avoir les deux types.

Après cela, vous pouvez sélectionner les noms et les verbes séparément et créer un hachage comme { nouns: array_of_nouns, verbs: array_of_verbs } et l'envoyer à votre JavaScript, où vous pouvez rechercher dans deux tableaux distincts.

Vous pouvez également utiliser des hachages au lieu de tableaux et grouper les phrases par première lettre pour accélérer la recherche. Par exemple, si vous avez des "noms" r, react, ruby, ruby-on-rails et javascript, votre hash_of_nouns serait comme { "j" => [ "javascript" ], "r" => ["ruby", "react", "ruby-on-rails", "r"] }. Après le premier caractère, entré par l'utilisateur, vous pouvez prendre un tableau et le rechercher. Ce sera beaucoup plus rapide avec beaucoup de données que de simples array_of_nouns.


0 pour la réponse № 2

Cette solution fonctionne pour moi:

  • pour résoudre les casse dans une requête à complétion automatique, créez un index de nom de domaine que vous souhaitez appliquer à la saisie semi-automatique (pour effectuer une requête en tant que BINAIRE)

# db / migrate / ... AddIndexFieldnameToTablename

def change
add_index :tablename, :fieldname
end
  • pour résoudre les valeurs de groupement, utilisez portée

# app / controller / yourtablenames_controller.rb

autocomplete :tablename, :fieldname, scopes: [:scope_rule_name]

# app / model / nom_table.rb

scope :scope_rule_name, -> {group :fieldname}

Concernant la manière d’appliquer la complétion automatique pour rails4, j’ai suivi ce guider.