我有一个小型的Neo4j数据库,有两个节点:Author
和Book
。这种关系是一个或多个作者撰写书籍。从 rails 控制台,我正在加载一个Author
节点,并得到一个结果
a = Neo4j::Node.load(36)
=> #<Author name: "Levi">
下一个是给我和错误
a.outgoing(:BOOKS)
NoMethodError: undefined method `outgoing' for #<Author name: "Levi">
from /Users/levidamian/.rvm/gems/ruby-2.1.5/gems/activemodel-4.1.8/lib/active_model/attribute_methods.rb:435:in `method_missing'
from (irb):7
这是怎么回事?
编辑:
Neo4j 宝石:
neo4j (4.1.1)
neo4j-core (4.0.1, 4.0.0)
neo4j-cypher (1.0.4)
宝石文件:
gem 'neo4j'
gem 'neo4j-cypher'
gem 'thin'
gem 'rails', '4.1.8'
gem 'unicorn'
gem 'sass-rails', '~> 4.0.3'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder', '~> 2.0'
gem 'sdoc', '~> 0.4.0', group: :doc
gem 'spring', group: :development
group :production do
gem 'rails_12factor'
end
a.outgoing(:BOOKS)
看起来像是来自neo4j-cypher
gem的方法,它从未成为Neo4j或Neo4j-core发布版本的一部分。您应该从项目中删除此 gem,如果您在某处遇到告诉您使用它的资源,请让他们知道他们有过时的信息。
如果您使用的是 Neo4j::ActiveNode 和模型,请参阅 https://github.com/neo4jrb/neo4j/wiki 中的文档。如果您只需要基本的 Neo4j 连接和方法,请使用 Neo4j 核心并查看 https://github.com/neo4jrb/neo4j-core。