Neo4j 和 Rails 不给我模型
Neo4j and Rails don't give me a model
我将 neo4j 与 neo4jrb 一起使用。在 irb 我使用这个查询:
p = Tag.as(:t).where("t.value = 'Andre'").names(:n).pluck(:n)
我希望得到 p.first
类型为 Person 的模型。但结果我只得到一个 CypherNode 3 (53012760)
。 3 是来自 personmodel 的 ID。但是我无法获取模型,我做错了什么?
这是我的模型和关系:
class Tag
include Neo4j::ActiveNode
property :value, index: :exact, constraint: :unique
... more outs ....
has_many :out, :names, rel_class: Names
end
class Names
include Neo4j::ActiveRel
from_class Tag
to_class Person
type 'name'
end
class Person
include Neo4j::ActiveNode
has_many :in, :named, rel_class: Names
end
当我在本地尝试时(neo4j
gem 版本 6.0.1),它可以工作,但进行了一些更改,以便在我将其粘贴到 irb 时不会失败。具体来说,我将符号而不是 类 传递给 rel_class
、from_class
和 to_class
,这样就不存在加载顺序问题:
class Tag
include Neo4j::ActiveNode
property :value, index: :exact, constraint: :unique
has_many :out, :names, rel_class: :Names
end
class Names
include Neo4j::ActiveRel
from_class :Tag
to_class :Person
type 'name'
end
class Person
include Neo4j::ActiveNode
has_many :in, :named, rel_class: :Names
end
如果这没有帮助,您可以尝试从您的模型中删除其他代码,看看是否有任何其他原因导致了问题。
另外,你们的模型都在app/models
下并且命名正确吗?
我将 neo4j 与 neo4jrb 一起使用。在 irb 我使用这个查询:
p = Tag.as(:t).where("t.value = 'Andre'").names(:n).pluck(:n)
我希望得到 p.first
类型为 Person 的模型。但结果我只得到一个 CypherNode 3 (53012760)
。 3 是来自 personmodel 的 ID。但是我无法获取模型,我做错了什么?
这是我的模型和关系:
class Tag
include Neo4j::ActiveNode
property :value, index: :exact, constraint: :unique
... more outs ....
has_many :out, :names, rel_class: Names
end
class Names
include Neo4j::ActiveRel
from_class Tag
to_class Person
type 'name'
end
class Person
include Neo4j::ActiveNode
has_many :in, :named, rel_class: Names
end
当我在本地尝试时(neo4j
gem 版本 6.0.1),它可以工作,但进行了一些更改,以便在我将其粘贴到 irb 时不会失败。具体来说,我将符号而不是 类 传递给 rel_class
、from_class
和 to_class
,这样就不存在加载顺序问题:
class Tag
include Neo4j::ActiveNode
property :value, index: :exact, constraint: :unique
has_many :out, :names, rel_class: :Names
end
class Names
include Neo4j::ActiveRel
from_class :Tag
to_class :Person
type 'name'
end
class Person
include Neo4j::ActiveNode
has_many :in, :named, rel_class: :Names
end
如果这没有帮助,您可以尝试从您的模型中删除其他代码,看看是否有任何其他原因导致了问题。
另外,你们的模型都在app/models
下并且命名正确吗?