hereのように単一の属性で検索すると、オートコンプリートは正常に機能します。
(name,city,country) などの複数の属性を使用したオートコンプリートは、-> ( thisによると)を通じて可能です。
def autocomplete
Doctor.search(params[:query], autocomplete: true, limit: 10).map{|doctor| doctor.slice(:name, :city, :country) }
end
ただし、これにより、オートコンプリートのドロップダウン/提案に「未定義」が表示されます。
タイプアヘッドの場合、私は使用しています:
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/typeahead.js/0.9.3/typeahead.min.js"></script>
コードでは、次のように参照されています。
$( function () {
$("#search").typeahead({
name: "doctor",
remote: "/doctors/autocomplete?query=%QUERY"
});
});
複数のデータセットが返されるため、typeahead js ファイルに何らかの変更が必要ですか?