2016-03-22 22 views
1

Neo4j/Ruby'yi kullanarak, düğümün üst düğümlerini almak istiyorum.Açıkça İlişkilendirmeden Üst Düzey Düğüm Alma Başlarken

// i can get the children node, but is there any way to access the parent nodes" 
// @decision.next.each.map{|r|...} 
// like: 
// @decision.parents... 

class Decision 
    include Neo4j::ActiveNode 

    property :title, type: String 
    property :text, type: String 
    property :ending, type: Boolean, default: nil 
    property :rooting, type: Boolean, default: nil 

    has_many :out, :next, rel_class: :Action, model_class: :Decision 

    validates_uniqueness_of :input 

end 

class Action 
    include Neo4j::ActiveRel 
    before_save :check_input_type 

    from_class :Decision 
    to_class :Decision 
    type 'action' 

    property :input, type: Integer 
    property :expected_input, type: Integer 

    validates_presence_of :input 
    creates_unique :none 

end 

cevap

0

Bu çok kolay olmalı. Eğer sadece her Decision

için bir ebeveyn olmak orada bekliyorsanız

class Decision 
    include Neo4j::ActiveNode 

    # ... properties 

    has_many :out, :next, rel_class: :Action, model_class: :Decision 

    # The straightforward way 
    has_many :in, :parents, rel_class: :Action, model_class: Decision 

    # Using `origin` 
    has_many :in, :parents, origin: :next, model_class: :Decision 
end 

dernek da kolayca has_one olabilir: şekillerde bir çift yapabiliriz

İlgili konular