Neo4j和Rails没有给我一个模型



我将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_classfrom_classto_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下,并且命名正确吗?

相关内容

  • 没有找到相关文章

最新更新