我正在使用auto_complete插件:
https://github.com/crowdint/rails3-jquery-autocomplete
我已按照说明安装了gem并在我的清单文件中添加了require行:
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require autocomplete-rails
//= require prototype
//= require prototype_ujs
这样做后,firebug给了我这个错误信息:
$("input[data-autocomplete]") is null
并在autocomplete-rails.js中将此错误追溯到此行:
$(document).ready(function(){$("input[data-autocomplete]").railsAutocomplete()})...
我正在使用:
Rails 3.1.0
Ruby 1.9.2
有没有人经历过同样的事?我刚刚安装并需要gem,甚至没有开始对控制器/视图进行更改。
任何帮助将不胜感激!
答案 0 :(得分:1)
autocomplete-rails.js将在文档准备好后搜索具有属性“data-autocomplete”的元素。
由于您未在视图页面中添加自动完成字段,因此显示为null 您可以通过两种方式添加自动完成的自动字段。
1.使用form_for
form_for @product do |f|
f.autocomplete_field :brand_name, autocomplete_brand_name_products_path
end
这将生成一个html
<input type="text" data-autocomplete="products/autocomplete_brand_name">
2.使用form_tag
form_tag 'some/path'
autocomplete_field_tag 'address', '', address_autocomplete_path, :size => 75
end
你没有做错任何事。你正处于开发阶段。当你在视图页面中添加自动填充文件时,这个问题将会解决,如gem所述。
欢呼:)答案 1 :(得分:0)
不要与Jquery同时使用Prototype库。不幸的是,这只是我能想到的解决方案。我尝试了noConflict语句并以不同的顺序加载库。我现在接受这个答案,因为没有任何其他解决方案。