2011-07-07 31 views
2

即時通訊模型分類。Factory_girls and ancestry

class Category < ActiveRecord::Base 
    has_ancestry :cache_depth => true, :depth_cache_column => :depth 
end 

類別有字段名稱。我想建立一個深度等級爲2的類別的工廠。 當這個工廠將被調用時,它必須建立類別等級2並且具有等級爲1的父類別。 如何做到這一點? 我試着各種技巧,都不工作。我停止在那樣的事情

Factory.define :category do |f| 
    f.name      { Faker::Lorem.word } 
    f.parent      { Factory.create(:category) } 
end 

謝謝!

回答

3

也許你可以創建另一家沒有父母的工廠。 如果你想擁有你2級類別你這樣做:

Factory(:category_level2) 

工廠的定義可能是類似的東西:

Factory.define :category do |f| 
    f.name { Faker::Lorem.word } 
end 

Factory.define :category_level2, :parent => :category do |f| 
    f.parent { Factory.create(:category) } 
end 

乾杯前

+0

奇怪,IM嘗試這種方法並沒有工作。現在它的工作。謝謝!我會編輯你回答一個律,有語法錯誤。 –

+0

好吧,這很酷,我只寫了他們的飛行;) –

+0

新語法 'FactoryGirl.define做 廠:類別做 名{法克爾:: Lorem.word} 結束 結束 FactoryGirl.define做 工廠:category_level2,父級::category do 父母{FactoryGirl.create(:category)} end end ' – rovitulli

相關問題