2012-03-24 5 views
0

Ich habe zwei Migrationen wie folgt:Probleme mit den Verbänden in Rails, viele Veranstaltungen zu einer Gruppe hinzufügen

CreateGroups 
    t.string :name 
    t.string :groupkey 

CreateEvents 
    t.string :name 
    t.string :groupkeyname 
    t.integer :group_id 

und ihre entsprechenden Modelle:

group 
    has_many :events 

event 
    belongs_to :group 

von dem, was ich verstehe, dass die t ist. Ganzzahl: Die Spalte "group_id" in der CreateEvents-Migration referenziert die Standard-ID-Spalte in der CreateGroups-Migration. Jetzt erstelle ich eine Gruppe:

g = Group.create(:name => "skydive", :groupkey => "withwingsuit") 

Allerdings, wenn ich eine Veranstaltung wie diese zu erstellen:

Event.create(:name => "whatever", :group_id => 1) 

und versuchen, zu drucken g.events gibt es nichts, es gibt mir: []

Warum gibt es das Ereignis, das ich gerade erstellt habe?

Antwort

0

Möglicherweise müssen Sie die Zuordnung aktualisieren, da sie lokal zwischengespeichert werden kann. Nach dem Hinzufügen des neuen Ereignisses versuchen Sie dies.

g.events(true) 

, die Rails dazu veranlasst, Elemente erneut aus der DB abzurufen.

+0

yep das hat es getan. – bytebiscuit

+0

Wissen Sie, wie Sie den Gruppenkeyname in CreateEvents auf den Groupkey in CreateGroups verweisen ... so wie group_id auf die Standard-ID verweist !! – bytebiscuit

Verwandte Themen