我的组织最近将应用程序升级到Ruby on Rails环境,并且在此过程中,Twitter Typeahead功能不再起作用。 Solr进程运行正常(经过一些重新配置)但问题似乎与Javascript实现有关。
安装的Typeahead软件包为0.11.1,带有JQuery 1.10.1。
为此应用程序安装的适用宝石是太阳黑子(2.1.0),sunspot_rails(2.1.0),sunspot_solr(2.2.0,2.1.0)和rsolr(1.0.12,1.0.9)。
以下是包含typeahead函数的输入代码:
<input id="header_search" class="search__field" type="text" placeholder="Search project or site..."autocomplete="off">
以下是application.js文件中的Javascript:
$(function() {
$('#header_search').typeahead([
{
name: "contents",
remote: "/contents/typeahead?search=%QUERY",
template: $('#typeahead_template').html(),
engine: typeahead_engine,
limit: 4
}
]).on("typeahead:selected", function(e, datum) {
window.location = datum.target
})
所有内容似乎都符合Twitter Typeahead文档,并且远程连接的设置与之前的应用程序版本类似,但该功能在浏览器中不适用于升级后的应用程序。感谢任何有关如何使其发挥作用的指导!