2016-03-24 22 views
0

Beim Erstellen von zwei Klassen und einer Beziehung zwischen ihnen;Neo4jrb: undefinierte Methode 'each' für nil: NilClass

(grobes Beispiel)

class User 
    include Neo4j::ActiveNode 
    property :name, type: String 
    property :email, type: String 
end 

class Group 
    include Neo4j::ActiveNode 
    property :name, type: String 
    property :email, type: String 

    has_many :in, :users, type:BELONGS_TO, model_class: :User 
end 

Aufruf @group.users.each ... funktioniert, wenn es ein Benutzer in der Gruppe ist (eine existierende Knoten-Kanten-Beziehung), aber wenn es nicht der Fall, Rails irgendwie undefined method 'each' for nil:NilClass

Was ist der performanteste Weg, um fehlerfrei zu passieren, wenn es keinen verbundenen Knoten gibt?

+1

Dies sollte nicht passieren, es ist wie ein leeres enumerable verhalten soll. Können Sie Ihren Code auf einen Tippfehler überprüfen? Ich kann eine in dem von Ihnen bereitgestellten Codebeispiel sehen: 'type: BELONGS_TO:', obwohl das einen ganz anderen Fehler ergeben würde ... Immer noch ein weiteres Mal. – subvertallchris

+0

Ich werde dich besser machen. Ich bin gerade von "Schienen neu" zu einem Projekt mit dem Problem gegangen. https://github.com/Joshfindit/Neo4jrb_undefined-method-each-for-nil-NilClass – joshfindit

+0

Als ich darüber ging, bemerkte ich, dass ich beim Versuch, die Frage zu vereinfachen, etwas falsch angegeben hatte. Ich versuche, '@ group.users.each' aufzurufen NOT Group.users.each (nach dem was Rails beim Erstellen einer Gerüstansicht verwendet) – joshfindit

Antwort

0

würde Ich mag aus hören zurück, was man von Chris' Vorschlag gefunden, aber das Hinzufügen eines all in der Kette helfen könnten:

Group.all.users.each... 
Verwandte Themen