2016-07-22 10 views
0

rails開発環境でfactory_girlを統合して、レコードをすばやく作成したいと考えています。しかし、レールコンソールを開いていくつかのアクションを実行するたびに、シーケンス状態は常にゼロから始まり、一意性に違反するというエラーにつながります。例:レール開発環境でfactory_girlを正しくシーケンスするには?

FactoryGirl.define do 
    factory :user do 
    name 'Jim' 
    email 
    end 

    sequence :email do |n| # every time n begins at 0 
    "#{n}@exmaple.com" 
    end 
end 

この問題を解決する簡単な解決策がありますか?ありがとうございました!

+0

の可能性のある重複した[Railsの:工場で複製エラーを回避女の子...私は間違っているのですか?](http://stackoverflow.com/questions/7072199/rails-avoiding-duplication-errors-in-factory-girl-am-i-doing-it-wrong) –

+0

それは私が欲しいものです。ありがとうございました! – Run

答えて

0

あなたは:user工場定義の内部シーケンス文を必要とする:

FactoryGirl.define do 
    factory :user do 
    name 'Jim' 
    sequence :email do |n| 
     "#{n}@exmaple.com" 
    end 
    end 
end 
0

ご希望の場合はnの初期値を設定することができます。

FactoryGirl.define do 
    factory :user do 
    name 'Jim' 
    sequence :email, 100 do |n| 
     "#{n}@exmaple.com" 
    end 
    end 
end 

または

FactoryGirl.define do 
     factory :user do 
     name 'Jim' 
     sequence(:email, 100) { |n| "person#{n}@example.com" } 
     end 
end 

注:あなたがすることによってこれを達成することができます詳細はn = 100 in this caseは、ドキュメントをチェックアウトhere

関連する問題