2013-04-16 14 views
2

我有兩個簡單的工廠:如何在FactoryGirl中使用自加入關聯?

factory :parent_category, :class => Category do 
    name "Garden" 
    parent_id 0 
    display_order 1 
end 

factory :category do 
    association   :parent_id, factory: :parent_category 
    name     "Tools" 
    associated_categories "" 
    postfix_to_display '' 
    display_order   1 
end 

但是,當我嘗試使用,以產生一個工廠:

f = FactoryGirl.create(:category) 

我收到以下錯誤:

NoMethodError: undefined method `to_i' for #<Category:0x007fdf50495c00> 

我使用Rails 3.2.12和FactoryGirl 4.2。

+0

我們可以在你的'Category'模型來看看聯想? – depa

+0

您的問題幫助我正確建立了一個帶有內部連接關聯的FactoryGirl。我已經完成了你需要解決你的問題,但不是你已經做了什麼來創建你的問題:) –

回答

2

嘗試:

factory :category do 
    association :parent, factory: :parent_category 
    ... 
end 
+0

新錯誤:NoMethodError:undefined方法'parent ='for#<類別:0x007faed4f9aff8> – Jason

+1

你的關聯如何設置楷模? – gylaz

+1

我的分類模型缺少自我加入的關係,我添加了以下'belongs_to:parent,:class_name =>「Category」'&使用了gylaz提供的解決方案...現在它可以工作,謝謝你們! :) – Jason

相關問題