【发布时间】:2015-04-22 23:24:04
【问题描述】:
使用给定here 的单个属性进行搜索时,自动完成功能正常。
可以通过->(根据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 文件进行一些更改?
【问题讨论】:
-
你试过我的解决方案了吗?
-
@SharvyAhmed 我目前正在关注您的博客文章,并对其本身提出了疑问...
-
使用 TypeaheadJS+BloodhoundJS 捆绑包 (twitter.github.io/typeahead.js/releases/latest/…)
-
添加 Bloodhound 后,我在为单个属性实现自动完成时也遇到了一些问题。在此处添加了详细信息:stackoverflow.com/questions/28654125/…
标签: ruby-on-rails elasticsearch typeahead.js twitter-typeahead searchkick