Ich habe eine Tabelle "Benutzer", aber ein Benutzer kann ein Manager eines anderen Benutzers sein, ein Benutzer könnte auch ein Manager von vielen anderen Benutzern sein, so dass es eine Eins-zu-viele-Beziehung ist und nur eine Tabelle inviviert . Heres mein Ansatz:Wie füge ich fremder_key hinzu, der auf dieselbe Tabelle zeigt?
1.Ihe 'manager_id' (die wirklich speichert eine andere Uers ID) Spalte Benutzer Tabelle hinzugefügt.
2.I've definierte Beziehung in Benutzermodellklasse:
belongs_to :manager, foreign_key: 'manager_id',class_name:'User'
has_many :minions, class_name:'User'
Nun, sagen wir in Schienen-Konsole, wenn ich seinem einen Benutzer manager_id 'auf einen anderen Benutzer-ID alle in Ordnung. aber wenn ich Methoden wie 'user.manager' oder 'user.minions' benutze, heißt es, dass diese Methoden nicht definiert sind. War ich falsch gelaufen?
Was ist die genaue Fehlermeldung? – Pavan
NoMethodError: undefined Methode 'Minions 'für # –
EasternDude
Sie sollten mit einer Instanz der Klasse, nicht auf eine Klasse selbst tun. Versuchen Sie 'User.find (1) .minions' oder' User.find (1) .manager' – Pavan