Est-ce quelqu'un a déjà utilisé ce plugin (voir la description ici?C'est pas très claire; Qu'est-ce qu'il faut faire pour pouvoir l'utiliser? Voici ce que j'ai fait:
- télécharger d'abord le plugin-même d'ici
- telecharger la dernière version de jQuery (ici)
- telecharger le plugin auto_complete de jQuery (ici)
- [option] télecharger jrails pour ne pas avoir de conflits avec Prototype/script.aculo.us et utiliser jQuery.
- copier-coller le fichier jquery.autocomplete.js dans public/javascripts
- copier-coller le fichier 'jquery.autocomplete.css' dans public/stylsheets
- ajouter le stylesheet et javascripts dans le layout
J'ai 2 modèles pour le tester avec un cas classique: Product et Category liés comme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <%= stylesheet_link_tag 'scaffold', 'jquery.autocomplete' %> <%= javascript_include_tag :defaults, :cache => 'jquery' %>
Donc je voudrais faire de l'auto_complete de coté 'belongs_to' et pouvoir taper dans le textfield le nom de la Category et sauvegarder son ID (category_id).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 product.rb belongs_to :category, category.rb has_many:products
Dans ProductsController j'ai ajouté:
Et dans routes.rb (au cas où puisque c'est indiqué nul part, ni dans leur README ni sur le blog de l'auteur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 auto_complete_for :category, :name):
En enfin dans la page views/products/new:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 map.auto_complete ':controller/:action', :requirements => { :action => /auto_complete_for_\S+/ }, :conditions => { :method => :get }
LE PROBLÈME - c'est que rien ne se passe quand je commence à saisir une Catégorie (j'en ai créé quelques unes auparavant).Pas d'erreurs dans la console
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <script type="text/javascript"> $(document).ready(function() { $("input#product_category").autocomplete("auto_complete_for_category_name") }); </script> <h1>New product</h1> <% form_for(@product) do |f| %> <%= f.error_messages %> <p> <%= f.label :name %><br /> <%= f.text_field :name %> </p> <p> <%= f.label :category %><br /> <%= f.text_field :category, :autocomplete =>"off" %> </p> <p> <%= f.submit "Create" %> </p> <% end %> <%= link_to 'Back', products_path %>Tout d'abord je n'ai pas très bien compris s'il faut télécharger le plugin de Dylan Verheul's jquery autocomplete et comment l'installer, - juste copier le contenu de script qui figure sur la page et le coller dans le fichier 'jquery.autocomplete' ou non? Quelqu'un a déjà su faire tout ça?
Partager