我尝试使用chosen gem为rails实现自动完成功能。这是一个收获here
的javascript插件我使用的是rails 3.2.8&简单形式2.0.2 我试图以一种使用simpleform gem的形式实现它。在simpleform中,我使用关联方法选择用户可以/可能属于的所有机构(数据库中的另一个表)。
我一直试图通过合并2个railscasts剧集#102和#258
来拼凑它们我已经在我的宝石文件中安装了宝石
gem 'chosen-rails'
我已将require项目放在application.js
中//= require chosen-jquery
&安培; application.css
*= require chosen
我已将调用放入我的users.js.coffee文件
jQuery ->
$('#user_bankinst_name').chosen();
以下是我尝试使用该插件的表单。它是" f.association"线。
<%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
<%= f.error_notification %>
<%= f.input :email, :required => true, :autofocus => true, :label => 'Username ( Your Email )', :placeholder => 'Email Address' %>
<%= f.input :password, :required => true, :autofocus => true, :label => 'Password', :placeholder => 'Password' %>
<%= f.input :password_confirmation, :required => true, :autofocus => true, :label => 'Confirm Password', :placeholder => 'Password Confirmation' %>
<%= f.association :bankinst, :collection => Bankinst.order(:FinancialInstitutionName), :required => true, :autofocus => true, :label => 'Pick an Institution', :label_method=>:FinancialInstitutionName, :id => 'user_bankinst_name' %>
<%= f.button :submit, "Sign Up >>", class: 'btn btn-inverse' %>
<% end %>
我做错了什么?谢谢你的帮助。
答案 0 :(得分:5)
我明白了。
我的班级缺少“:input_html”。
我将咖啡文件更改为:
jQuery ->
$('.chzn-select').chosen()
我将课程改为chzn-select
<%= f.association :bankinst, :collection => Bankinst.order(:FinancialInstitutionName), :required => true, :autofocus => true, :label => 'Pick an Institution', :label_method=>:FinancialInstitutionName, :input_html => {:class => "chzn-select" } %>