Ruby on Rails NameError: nicht initialisierte Konstante

7

Ich habe gerade eine neue Migration und Modellbeziehungen eingerichtet, und in der Konsole bekomme ich beim Testen der Beziehung zwischen Tabellen den folgenden Fehler: NameError: nicht initialisierte Konstante.

Hat jemand eine Idee was falsch ist?

Danke

Bearbeiten:

Hier ist der Fehler

%Vor%

Code aus der ProfileNotification-Migration:

%Vor%     
Brian 30.11.2010, 03:01
quelle

2 Antworten

27

Nun, ich habe das Problem herausgefunden. Als ich ruby ​​script / generate model ausführte, tippte ich ruby ​​script / generate model ProfileNotifications. Als ich ruby ​​script / generate model ProfileNotification (singular) eingegeben habe, funktionierte es. Namenskonventionen töten mich. Danke für die Hilfe.

    
Brian 30.11.2010 04:17
quelle
3

Es bricht, weil Sie Profile::ProfileNotification referenzieren, das nicht existiert.

Rails betrachtet dies als ein Modell mit dem Namen ProfileNotification , das sich im Namespace Profile befindet, aber Ihr Kommentar legt nahe, dass Profile eine andere Modellklasse und kein Namespace ist.

Aufgrund der von Ihnen geposteten Migration sind Sie mit der Rails-Namenskonvention für Eins-zu-viele-Beziehungen nicht vertraut. So soll es aussehen:

%Vor%

Wenn Sie nun Profile.find(1).notifications ausführen, sollten Sie eine Liste der zugehörigen Benachrichtigungen für dieses Profil erhalten.

Weitere Informationen: Active Record Associations

    
Adam Lassek 30.11.2010 03:51
quelle

Tags und Links