在form_for rails中搜索数组

时间:2014-01-23 21:44:31

标签: ruby-on-rails form-for

我在form_for中有一个带有options_for_select的select_tag来创建模型的实例,但它是一个巨大的列表,所以我想添加一个搜索(允许用户输入他们的选择,并在他们继续输入时查看缩小的结果)而不是选择。我应该用form_tag替换select吗?我如何在form_for中添加搜索字段?

views / dogs / new:

<%= form_for [@master, @dog], role: "form" do |f| %>

              <div class="form-group">
                  <div><%= f.label :name %><br />
                  <%= f.text_field :name, :autofocus => true, class: "form-control" %></div>
              </div>

              <div class="form-group">
                  <div><%= f.label :age %><br />
                  <%= f.number_field :age, class: "form-control" %></div>
              </div>

              <div class="form-group">
                  <div><%= f.label :breed %><br />
                  <%= select_tag "breed", options_for_select([['French Bulldog' ,'French Bulldog'], ['Pitbull', 'Pitbull']]) %>

              </div>

目前显示为:

enter image description here

1 个答案:

答案 0 :(得分:1)

您需要使用文本字段而不是选择字段并使用jQuery自动完成(http://jqueryui.com/autocomplete/)。

关于如何使用它有一个很好的例子。

您只需要在js中填充其中包含所有品种的变量,然后使用该插件过滤列表并使用其中一个回调,以防您需要进一步自定义文本字段;例如在用户选择了该品种之后。

希望这有助于你