jQuery Autocomplete ne fonctionne pas dans Rails 4

J’essaie d’intégrer la saisie semi-automatique de l’ interface utilisateur jQuery à mon application Rails 4.0 comme décrit dans ce Railscast: 102-AutoCompleteAssociationRevised .

Malheureusement, l’auto-complétion ne fonctionne pas. Je ne reçois aucune suggestion bien que le rendu HTML semble bon:

 

J’ai aussi désactivé Turbolinks, mais rien n’a changé …

Dans mon Gemfile, j’ai inclus le gem 'jquery-ui-rails' et mon application.js ressemble à ceci:

 //= require jquery //= require jquery.ui.all //= require jquery_ujs //= require bootstrap //= require turbolinks //= require jquery-fileupload/basic //= require jquery-fileupload/vendor/tmpl //= require_tree . 

Voici le formulaire que j’utilise, edit.html.erb :

      

autocomplete.js.coffee:

 autocomplete = -> $('#plan_part_name').autocomplete source: $('#plan_part_name').data('autocomplete-source') $(document).ready(autocomplete) $(document).on('page:load', autocomplete) 

J’ai trouvé la solution:

Mon formulaire de modification a été rendu par la demande Ajax. J’ai donc dû modifier le fichier Javascript (autocomplete.js.coffee) de:

 $(document).on('page:load', autocomplete) 

à:

 $(document).on('page:update', autocomplete) 

travailler correctement avec Turbolinks. Vous trouverez plus d’informations dans le fichier Readme de Turbolinks .

Si vous avez correctement posté le code HTML, cela ne me semble pas très bien:

  

Cela se traduit par data-autocomplete-source="[" qui ne peut pas être analysé comme JSON ou une URL. Le balisage approprié devrait ressembler à ceci: