2011-09-08 75 views
1

可能重複:
How to make has_many :through association with fixtures?FactoryGirl中的多對多關聯如何工作?

我試圖使用FactoryGirl建立我的測試數據。但我不知道如何建立多對多的關聯。 (通過引用的Tagging問題的has_many標籤,反之亦然)

factory :tagging do 
    question { |a| a.association(:question) } 
    tag { |a| a.association(:tag) } 
end 

它運作良好:

最後,我谷歌複製粘貼片段。但是這個奇怪的語法是什麼?當我在屬性名稱之後放置一個塊時會發生什麼?官方自述沒有告訴我。

有人可以幫忙嗎?

回答

0

正如您所描述的tagging型號至少有兩列:question_idtag_id。您可以手動設置它們,但是您應該在此之前創建新對象。 FactoryGirl通過其關聯功能爲您完成。它創建一個新的對象(你指定該對象的工廠作爲關聯函數中的參數),獲取它的id並將其設置爲適當的字段。