Javascript 大型数据库上的Rails/typeahead.js
我正在使用typeahead.js在Rails表单上填写一个“属于”字段。创建帖子时,选择关联的书籍。有成千上万的记录。如果我让typeahead.js查看Book.all,该应用程序将在该页面崩溃,但如果我将Book.featured限制为几百,它似乎可以工作。但是,我如何让typeahead访问所有数据 /api/books.json返回所有记录,不确定这是否有用 以下是我如何设置它的: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
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}