Ruby on rails 在我的rails应用程序中实现searchkick和typeahead不起作用

Ruby on rails 在我的rails应用程序中实现searchkick和typeahead不起作用,ruby-on-rails,Ruby On Rails,我已经按照本教程尝试在我的应用程序中实现searchkick和typeahead.js,但不知何故它不能正常工作。typeahead根本不起作用,如果我键入整个名称“lito”,搜索也会起作用,但如果我只键入“li”,则不会返回用户。与本教程的一个明显区别是,我没有将typeahead捆绑包保存在vendor/assets中,因为该文件夹在我的rails应用程序中不存在,而是通过命令warn add typeahead,然后在javascript/application.js中保存了:impor

我已经按照本教程尝试在我的应用程序中实现searchkick和typeahead.js,但不知何故它不能正常工作。typeahead根本不起作用,如果我键入整个名称“lito”,搜索也会起作用,但如果我只键入“li”,则不会返回用户。与本教程的一个明显区别是,我没有将typeahead捆绑包保存在vendor/assets中,因为该文件夹在我的rails应用程序中不存在,而是通过命令
warn add typeahead
,然后在javascript/application.js中保存了:import typeahead`` 如果您需要代码的任何其他部分,请告诉我。提前感谢:)


您还需要指定在模型中使用word_start的字段

class User < ApplicationRecord
  searchkick word_start: [:first_name, :last_name, :username]
end
class用户

然后重新编制索引

谢谢你看!我添加了它,但它不能解决问题。有几件事是不可能的。例如,如果我输入控制台搜索(“li”),我会得到三个结果,但在我看来,我只得到一个。这是回购协议,如果你想看看的话
class User < ApplicationRecord
searchkick
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable
has_many :lists, dependent: :destroy

def search_data
{
  username: username,
  first_name: first_name,
  last_name: last_name
}
end
end
$(document).on('turbolinks:load', function(){
var users = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
  url: '/profiles/autocomplete?query=%QUERY',
  wildcard: '%QUERY'
}
});
$('#users_search').typeahead(null, {
source: users
});
})
class User < ApplicationRecord
  searchkick word_start: [:first_name, :last_name, :username]
end