我正在尝试使用searchkick以及我的Neo4j数据库和Sinatra。我得到这个未定义的局部变量或方法错误:
NameError: undefined local variable or method 'searchkick' for Movie:Class
这是我的模特:
class Movie
include Neo4j::ActiveNode
searchkick
property :id
property :movieID
property :title
property :year
property :imdB
property :rtRating
property :poster
end
和我的Gemfile:
source 'https://rubygems.org'
gem 'searchkick'
gem 'sinatra'
gem 'neo4j'
gem 'haml'
gem 'shotgun'
我重新启动了我的Sinatra服务器,检查了Elasticsearch是否正在运行。有什么我想念的吗?
答案 0 :(得分:0)
从版本1.3.6开始,Neo4j不是searchkick支持的后端。 searchkick适用于ActiveRecord,Mongoid和NoBrainer。文档中的示例显示了ActiveRecord:
class Product < ActiveRecord::Base
searchkick
end
如果您使用的是受支持的数据库,那么您将确保模型类从相应的类继承,以在其中公开searchkick方法。