2017-05-08 10 views
1

最近、私はNeo4j 3.1.3、Neo4j.rb 8.0.13、Neo4j-core 7.1.2にアップグレードしました。それ以来、relsメソッドはundefined method 'rels' for #<Neo4j::Core::Node:xxxxxxxx>エラーをスローします。私のクエリがある#neo4j :: core :: node:xxxxxxxxの定義済みメソッド `rels`

student.rels(dir: :outgoing, type: :enrolled_in).count

rels方法とともに、create_rel方法は、同様に機能していません。私は、これらの2つのメソッドが新しいバージョンから廃止されているかどうかを確認するためにドキュメントを読んできましたが、それまでは運がありません。

+0

をチェックし、代わりに 'relationships'を試してみなかったのサイファークエリを使用する必要があります。もしそうなら、私はやってお勧めしたいです、Neo4jの他の部分もその動きをしました。おそらくこれもあります。 – InverseFalcon

+0

エラーが次のように変更されました: 'の'未定義メソッド 'relationships' –

答えて

1

この回答の残りの部分を読む前に、upgrade guideをお読みください。

relsという関係は、古いAPIの古いNodeオブジェクトを置き換えたオブジェクトには追加されていません。Neo4j::Core::NodeActiveNodeにはrelsという方法もあると私は信じています。

ActiveNodeを使用している場合、置き換えは関連付けを定義することです。ような何か:

class Student 
    include Neo4j::ActiveNode 

    has_many :out, :all_nodes, type: :enrolled_in, model_class: false 
end 

# Then you can do: 
student.all_nodes.count 

だけenrolled_in関係を以下しているという事実は、私は、これは特定のノードに行くかもしれないと思わせるが(多分Courseを?)。

class Course 
    include Neo4j::ActiveNode 
end 

class 
    include Neo4j::ActiveNode 
    has_many :out, :courses, type: :enrolled_in 
    # model_class of `Course` will be assumed based on the association's name 
end 

をあなたが直接ActiveNodeではなくneo4j-core宝石を使用していない場合、あなたは

関連する問題