Javascript 大型数据库上的Rails/typeahead.js

Javascript 大型数据库上的Rails/typeahead.js,javascript,ruby-on-rails,typeahead.js,Javascript,Ruby On Rails,Typeahead.js,我正在使用typeahead.js在Rails表单上填写一个“属于”字段。创建帖子时,选择关联的书籍。有成千上万的记录。如果我让typeahead.js查看Book.all,该应用程序将在该页面崩溃,但如果我将Book.featured限制为几百,它似乎可以工作。但是,我如何让typeahead访问所有数据 /api/books.json返回所有记录,不确定这是否有用 以下是我如何设置它的: var substringMatcher = function(strs) { return fun

我正在使用typeahead.js在Rails表单上填写一个“属于”字段。创建帖子时,选择关联的书籍。有成千上万的记录。如果我让typeahead.js查看Book.all,该应用程序将在该页面崩溃,但如果我将Book.featured限制为几百,它似乎可以工作。但是,我如何让typeahead访问所有数据

/api/books.json返回所有记录,不确定这是否有用

以下是我如何设置它的:

var substringMatcher = function(strs) {
  return function findMatches(q, cb) {
    cb(strs);
  };
};

books = <%= Book.featured.to_json.html_safe %>
var bookFinder = function(books) {
    $('#post_book_id').val(null)
    // $('#post_book_name').val(null)
  return function findMatches(q, cb) {
        matches = [];
        $.each(books, function(i, book){
            if(book.title.indexOf(q) !== -1){
                matches.push(book)
            }
        })
        cb(matches)
    }
}
$('#post_book_name').typeahead({
  hint: true,
  highlight: true,
  minLength: 2
},
{
  name: 'books',
    displayKey: 'title',
  source: bookFinder(books)
});
$('#post_book_name').on('typeahead:select', function(ev, suggestion) {
    $('#post_book_id').val(suggestion.id)
});

你能展示它是什么样的特征方法吗?范围:特征,->{where:featured=>true}