2011-07-07 9 views
2

im haveモデルカテゴリ。ファクトリーガールズと祖先

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

奇妙な、イムは前にこの方法を試してみましたとそのdoesnt仕事。今はその仕事。ありがとう!私はあなたに文法の間違いがあります。 –

+0

さて、それはクールだ、私はその場でそれらを書いた;) –

+0

新しい構文 'FactoryGirl.define 工場でください: 名{偽物:: Lorem.word} エンド エンド FactoryGirl.defineは をカテゴリをしますか工場:category_level2、親::カテゴリdo 親{FactoryGirl.create(:category)} end end ' – rovitulli

関連する問題