Bonjour,
Un peu comme fait FaceBook lorsqu’on envoie un message à un ami,
j’aimerais réaliser avec Rails un input qui se complète
automatiquement à partir d’une base de données.
Je sais qu’on peut utiliser text_field_with_auto_complete et
auto_complete_for comme expliqué par exemple ici :
Mais je ne sais pas comment faire pour avoir plusieurs auto_complete à
la suite comme sur Facebook où l’on peut ajouter à la suite plusieurs
amis pour envoyer un email.
Je vous remercie par avance,
Pierre.
Pierre :
Un peu comme fait FaceBook lorsqu’on envoie un message à un ami,
j’aimerais réaliser avec Rails un input qui se complète
automatiquement à partir d’une base de données.
Je sais qu’on peut utiliser text_field_with_auto_complete et
auto_complete_for comme expliqué par exemple ici :
http://pbnaigeon.developpez.com/tutoriel/rails/ajax-facile-RJS/#LVI
Mais je ne sais pas comment faire pour avoir plusieurs auto_complete à
la suite comme sur Facebook où l’on peut ajouter à la suite plusieurs
amis pour envoyer un email.
Si j’ai cerné correctement la problématique, il faudrait que
tu écrives ta méthode auto_complete côté contrôleur de sorte
qu’au lieu de travailler sur le paramètre entier, elle base
son find sur le dernier élément de la liste. La liste étant
caractériséepar des éléments séparés par un… séparateur qu’on ne retrouve
pas dans les éléments : par exemple des adresses électroniques,
séparées par des virgules.
– Jean-François.
–
Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)
Oui, c’est exactement cela !
Je regarde ce que je peux trouver tout seul ce soir et je posterai ici
mes résultats.
Merci Jean-François.
Il existe une solution directement intégrée au script javascript
AutoComplete.
Il s’agit de tokens.
<%= text_field_with_auto_complete :tag, :name, {:size => 60}, {:tokens
=> ‘,’} %>
Avec ce code par exemple, à chaque fois qu’on met une virgule, la
recherche repart sur ce qu’il y a derrière la dernière virgule
Pierre