jQuery自动完成function在Rails 4中不起作用

我正在尝试在我的Rails 4.0应用程序中集成jQuery UI Autocomplete,就像在这个Railscast: 102-AutoCompleteAssociationRevised中描述的那样。

不幸的是,自动完成function不起作用。 虽然呈现的HTML看起来很好,但我没有得到任何建议:

 

我也停用了Turbolinks,但没有改变……

在我的Gemfile中,我包含了gem’jquery gem 'jquery-ui-rails' ,我的application.js看起来像这样:

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

这是我正在使用的forms, 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) 

我找到了解决方案:

我的编辑表单由Ajax请求呈现,因此我不得不更改Javascript文件(autocomplete.js.coffee):

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

至:

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

使用Turbolinks正常工作。 您可以在Turbolinks自述文件中找到更多信息。

如果您已正确发布呈现的HTML,那么对我来说看起来不太合适:

  

这会导致data-autocomplete-source="["无法解析为JSON或URL。 正确的标记应如下所示: