我已经安装了rails3-jquery-autocomplete gem并将其显示在gem列表中。 我已生成autocomplete-rails.js文件并将其包含在我的布局中。 我正在尝试在名称字段上为users表实现自动完成字段。 我收到错误说
"undefined local variable or method `autocomplete' for #<#<Class:0xb709ac24>:0xb7099a7c>"
请让我知道我哪里出错了。
releases_controller.rb
class ReleasesController < AuthorizedController
# GET /releases
# GET /releases.xml
autocomplete :users, :name
def new
@release = Release.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @release }
end
end
我的观点文件:
= form.autocomplete_field_tag 'tester_name', :data-autocomplete=>"releases_autocomplete_users_name_path"
我的路线档案:
get 'releases/autocomplete_users_name'
错误:
ActionView::Template::Error (undefined local variable or method `autocomplete' for #<#<Class:0xb71cc1d8>:0xb71caa90>):
37: -puts "testers=#{@testers}"
38: = form.label :tester_tokens, "Testers"
39: = form.text_field :tester_tokens
40: = autocomplete_field_tag 'tester_name', :data-autocomplete=>"releases_autocomplete_users_name_path"
41: - @testers.each do |tester|
42: %tr
43: %td=tester.name
答案 0 :(得分:1)
请更新您的路线文件,这可能会对您有所帮助,因为它对我有用:
resources :releases do
get :autocomplete_user_name, :on => :collection
end
CHEARS ..
答案 1 :(得分:0)
也许不要使用代码,例如rails3-jquery-autocomplete页面。
试
form.autocomplete_field :tester_name, autocomplete_tester_name_releases_path
如果你想使用:tester_name。
,我认为你还应该在发布模型上创建一个虚拟字段如果您想获取ID,则可以创建隐藏字段并添加:id_element =&gt; '#some_element'到自动完成助手