機能しているフォームにオートコンプリート フィールドがありますが、ユーザーにリストから値の 1 つを選択させる必要があります (オートコンプリートを使用すると、ユーザーはリストの項目に制限されません。これはテキスト フィールドであり、好きなように入力してください)。jQuery コンボボックスは、私が必要とする追加機能を追加します。その追加機能をフォームに追加するのを手伝ってくれる人はいますか? 従うことができるチュートリアルまたは例はありますか?
これが私がこれまでに持っているものです(そしてそれは機能しています - Ryan Batesに感謝します)
ビュー - 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 -->
前もって感謝します。