Je voudrais aller avec l'option 3, et c'est ce que j'utilise actuellement dans de nombreux programmes. Il y a des plugins qui atteignent le même objectif. L'un d'entre eux est this mais la plupart fonctionneront correctement.
Fondamentalement, ce que vous devez faire est de créer le plugin, le définir pour regarder votre champ de texte, puis le définir sur un itinéraire.
C'est un code de certains vieux projet, je suis arrivé à la main:
$("input#send_detail_product_id").autocomplete("products/auto_complete_for_send", {
formatItem:formatItem,
callback:processProduct;
});
Le plugin je n'a pas accepté les fonctions de rappel, donc je piraté un peu et de travailler dehors. Je peux lui envoyer une fonction à traiter après avoir sélectionné un fichier.
Sur le contrôleur Rails, vous pouvez spécifier une logique et renvoyer les résultats de votre recherche sous la forme JSON ou via un fichier View pour les problèmes de formatage. Dans mon cas, ce dernier me permet de changer le look du nom du produit.
C'est vraiment très facile à réaliser avec l'avantage supplémentaire de gérer du code discret.