2012-03-24 24 views
0

我有兩個遷移如下:問題與Rails的協會,加入許多事件,一組

CreateGroups 
    t.string :name 
    t.string :groupkey 

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

及其相應的模型:

group 
    has_many :events 

event 
    belongs_to :group 

從我的理解是,噸。整數:CreateEvents遷移中的group_id列引用CreateGroups遷移中的默認ID列。現在,我創建一個組:

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

然而,當我創建這樣一個事件:

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

,並嘗試打印g.events有什麼它給了我:[]

爲什麼它沒有給我剛剛創建的事件?

回答

0

您可能需要刷新關聯,因爲它可能會在本地緩存。添加新事件後,試試這個。

g.events(true) 

這將強制Rails從數據庫中再次檢索項目。

+0

是的,它做到了。 – bytebiscuit 2012-03-24 21:06:11

+0

你知道如何使CreateEvents中的groupkeyname引用CreateGroups中的groupkey ...就像group_id引用了默認的ID一樣! – bytebiscuit 2012-03-24 21:11:40