/ / Hinzufügen von Gruppen zur automatischen Vervollständigung - Abfrage, Ruby-on-Rails, automatische Vervollständigung

Hinzufügen von Gruppen zur Autovervollständigung - Jquery, Ruby-on-Rails, Autovervollständigung

Ich muss einer bereits erstellten Gruppe Gruppen hinzufügenAutocomplete Dropdown-Liste in Schienen. Ich bin mir nicht sicher, wo ich anfangen soll und ich bin mir nicht mal sicher, ob es angemessen ist, es "Gruppen" zu nennen, aber ich muss so aussehen wie das Bild, das ich gepostet habe. Ich wäre sehr dankbar, wenn jemand mich wenigstens darauf hinweisen könnte die richtige Richtung, um loszulegen.

http://imgur.com/XLYzeKa

Antworten:

0 für die Antwort № 1

Ich denke, Sie können Ihrer Satztabelle ein Aufzählungsfeld für Typen (Nomen und Verb) hinzufügen oder ein Modell für Typen hinzufügen, wenn der Satz beide Typen haben kann.

Danach können Sie Nomen und Verben separat auswählen und einen Hash wie erstellen { nouns: array_of_nouns, verbs: array_of_verbs } und senden Sie es an Ihr JavaScript, wo Sie in zwei separaten Arrays suchen können.

Sie können auch Hashes anstelle von Arrays verwenden und Sätze nach Anfangsbuchstaben gruppieren, um die Suche zu beschleunigen. Zum Beispiel, wenn Sie "Nomen" haben r, react, ruby, ruby-on-rails und javascript, Ihre hash_of_nouns wäre wie { "j" => [ "javascript" ], "r" => ["ruby", "react", "ruby-on-rails", "r"] }. Nach dem ersten vom Benutzer eingegebenen Zeichen können Sie ein Array nehmen und darin suchen. Mit vielen Daten geht es viel schneller als mit einfachen array_of_nouns.


0 für die Antwort № 2

Diese Lösung funktioniert bei mir:

  • Erstellen Sie einen Index für Feldname die Sie Autocomplete anwenden möchten (also als BINARY abfragen):

# db / migrate / ... AddIndexFieldnameToTablename

def change
add_index :tablename, :fieldname
end
  • Verwenden Sie, um Groupping-Werte zu lösen Umfang

# app / controller / yourtablenames_controller.rb

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

# app / model / yourtablename.rb

scope :scope_rule_name, -> {group :fieldname}

In Bezug auf die Anwendung von Autocomplete für Rails4 bin ich gefolgt Dies führen.