Autocomplete works ok when searching with a single attribute as given here.
Autocomplete with multiple attributes such as (name,city,country) is possible through->(a
You need to return a hash
Your autocomplete action in doctors controller need to look like this :
def autocomplete
render json: Doctor.search(params[:query], autocomplete: true, limit: 10).map do |doctor| { name: doctor.name, city: doctor.city, country: doctor.country }
end
end
Add displayKey in your typeahead option:
$( function () {
$("#search").typeahead({
name: "doctor",
displayKey: 'name',
remote: "/doctors/autocomplete?query=%QUERY"
});
});
You can also read this article and see if it helps.