2012-11-25 30 views
0

我有以下工廠:如何使用此類別工廠填寫其他工廠的屬性category_id?

factory :post do 
    title "lorem" 
    content "lorem ipsum" 
    category_id 
    user 
    end 

    factory :category do 
    name "Lorem" 
    end 

我想用:category工廠來填補category_id莫名其妙。

差不多模仿我在我看來,這樣做:

<%= f.collection_select :category_id, Category.order(:name), :id, :name, 
         { prompt: 'Select Category' } %> 

(在這種情況下類別已創建)。

如何做到這一點?

+0

你爲什麼不用'category'來替換'category_id'?這將指示工廠女工使用'category'工廠並將其分配給關聯,如下所示:https://github.com/thoughtbot/factory_girl/wiki/How-factory_girl-interacts-with-ActiveRecord –

+0

@shioyama謝謝工作。你可以發佈答案,以便我可以檢查它嗎? – alexchenco

回答

1

如果你僅僅通過更換categorycategory_idpost工廠,像這樣:

factory :post do 
    title "lorem" 
    content "lorem ipsum" 
    category 
    user 
end 

然後factory_girl將使用category工廠發起關聯,在這個過程中的Post記錄設置category_id。詳情請參閱documentation on factory_girl interaction with ActiveRecord