2016-07-22 54 views
0

我想在rails開發環境中集成factory_girl來快速創建記錄。但是,每次打開rails控制檯並執行一些操作時,序列狀態總是從零開始,這會導致違反唯一性的錯誤。如:如何在rails開發環境中正確使用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

相關問題