我在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>
目前显示为:
答案 0 :(得分:1)
您需要使用文本字段而不是选择字段并使用jQuery自动完成(http://jqueryui.com/autocomplete/)。
关于如何使用它有一个很好的例子。
您只需要在js中填充其中包含所有品种的变量,然后使用该插件过滤列表并使用其中一个回调,以防您需要进一步自定义文本字段;例如在用户选择了该品种之后。
希望这有助于你