Javascript 带远程阵列的Twitter typeahead.js

Javascript 带远程阵列的Twitter typeahead.js,javascript,ruby-on-rails,typeahead.js,Javascript,Ruby On Rails,Typeahead.js,我想使用twtter的typeahead来显示一些输入建议。 建议将来自服务器,因此我需要使用远程表单: 但是远程示例都返回json。 因为我将有一个相当大的数据集,并且我想将它存储在Redis中,所以我想我不会将数据存储在json中,而是存储在一个值数组中。为了节省内存 我还没有谈到Redis,只是想返回一个数组。但我只是有一堆未定义的选项可供选择 如有任何迹象,将不胜感激 我很正常。假设我将从服务器返回render:text=>[abc,sdf,erw,gfg], 我如何使typeahea

我想使用twtter的typeahead来显示一些输入建议。 建议将来自服务器,因此我需要使用远程表单:

但是远程示例都返回json。 因为我将有一个相当大的数据集,并且我想将它存储在Redis中,所以我想我不会将数据存储在json中,而是存储在一个值数组中。为了节省内存

我还没有谈到Redis,只是想返回一个数组。但我只是有一堆未定义的选项可供选择

如有任何迹象,将不胜感激

我很正常。假设我将从服务器返回render:text=>[abc,sdf,erw,gfg], 我如何使typeahead显示基于该响应的建议

这是我想采用数组而不是json的示例:

var bestPictures = new Bloodhound({
  datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
  queryTokenizer: Bloodhound.tokenizers.whitespace,
  prefetch: '../data/films/post_1960.json',
  remote: '../data/films/queries/%QUERY.json'
});

bestPictures.initialize();

$('#remote .typeahead').typeahead(null, {
  name: 'best-pictures',
  displayKey: 'value',
  source: bestPictures.ttAdapter()
});
谢谢。

我自己回答

<script type="text/javascript">

$(function() {
      var xx = new Bloodhound({
      datumTokenizer: Bloodhound.tokenizers.obj.whitespace("user"),
      queryTokenizer: Bloodhound.tokenizers.whitespace,
      remote: {
        url: '/home/cp?c=%QUERY',
         filter: function(list) {
            console.log(list)
            return $.map(list, function(name) { return { user: name}; });
        }
      } 
    });

    xx.initialize();

    $('#remote .typeahead').typeahead(null, {
      name: 'xx',
      displayKey: 'user',
      source: xx.ttAdapter()
    }); 


})


</script>



<div id="remote" style="text-align:center; margin-top: 200px;">
    <input class="typeahead" type="text">
</div>
因此,从控制器返回呈现json:%w[foo bar]将显示可用选项