2016-07-08 7 views
1

У меня есть ActiveNode вроде этого:neo4jrb - Сохранить ActiveRel свойство от узла

class Nodeexample 
    include Neo4j::ActiveNode 

    property :name 

    validates :name, :presence => true 

    has_many :in, :nodeexamples, rel_class: :SomeRel 

end 

и модель ActiveRel так:

class SomeRel 
    include Neo4j::ActiveRel 

    property :some_number, type: Float 

    from_class :Nodeexample 
    to_class :Nodeexample 

    type :SOME_REL 
    validates :some_number, :presence => true 

end 

Я пытаюсь понять, как добавить " some_number»свойство в модели ActiveRel:

node1 = Nodeexample.new(name:"node1") 
node2 = Nodeexample.new(name:"node2") 

#how can I add the "some_number" property in the ActiveRel class from here? 
node1.nodes << node2 

node1.save 

единственный способ я знаю, что это за счет экономии на два узла первого и их сохранить отношения корабль, но я хочу сохранить все сразу, возможно ли это? Это странно, сохранить 100 узлов, а затем сохранить 500 отношения :(

ответ

0

Вы должны быть в состоянии сделать это с помощью метода: create

node1 = Nodeexample.new(name:"node1") 
node2 = Nodeexample.new(name:"node2") 

node1.nodes.create(node2, some_number: 123) 

Там не должно быть потребность node1.save при использовании либо << или create

+0

Это сработало, спасибо :) –

+0

Отлично! Не могли бы вы отметить ответ, как принято? –