我的表单上有一个正在工作的自动完成字段但是我需要强制用户从列表中选择一个值(使用自动完成,用户不限于列表中的一个项目——它是一个文本字段,他们可以输入他们想要的任何内容)。jQuery 组合框添加了我需要的附加功能。谁能帮我在我的表单中添加额外的功能——有没有我可以学习的教程或示例?
这是我到目前为止所拥有的(它正在工作 - 谢谢瑞安贝茨)
查看 - new.html.erb
<%= f.input :widget_name, input_html: { data: { autocomplete_widget_source: widgets_list_path } } %>
控制器
def list
@widgets = Widget.order(:name).where("name like ?", "%#{params[:term]}%")
render json: @widgets.map(&:name)
end
jQuery
jQuery ->
$('#model_widget_name').autocomplete
source: $('#model_widget_name').data('autocomplete-widget-source')
我尝试使用简单的 collection_select,但由于选择列表的大小,文档太大(10,000 项)。
<%= collection_select :model, :widget_id, Widget.all, :id, :name, selected: @model.widget_id -->
提前致谢。