2012-05-27 45 views
0

我面臨與問題here相同的問題。這篇文章很不合時宜。我想知道如何做同樣的事情。我廠是:has_one與validates_presence_of的關係和最新的factory_girl

FactoryGirl.define do 
    factory :user do 
    sequence(:email) {|n| "email#{n}@factory.com" } 
    password "foobar" 
    password_confirmation { |u| u.password } 
    profile 
    end 
end 

FactoryGirl.create(:user)因爲與用戶是空白的輪廓模型驗證錯誤的失敗。

回答

1

我會做的是使用after_create。這確保它僅在創建用戶後創建配置文件。

factory :user do 
    sequence(:email) {|n| "email#{n}@factory.com" } 
    password "foobar" 
    password_confirmation { |u| u.password } 
    after_create do |user| 
     FactoryGirl.create(:profile, :user => user) 
    end 
    end 

之後您可以致電Factory(:user)

+0

謝謝!這樣可行。 – zsquare