Neo4j和Rails不给我一个模特

时间:2015-12-14 11:02:43

标签: ruby-on-rails ruby neo4j irb neo4j.rb

我使用neo4j和neo4jrb。在irb中我使用此查询:

p = Tag.as(:t).where("t.value = 'Andre'").names(:n).pluck(:n)

我希望从类型为Person的p.first获得一个模型。但结果我只得到CypherNode 3 (53012760)。 3是来自人物模型的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

1 个答案:

答案 0 :(得分:1)

当我在本地尝试(neo4j gem version 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下且名称正确?