2016-04-21 30 views
0

如何在factorygirls創建兩個對象Freelancer和User之後創建對象user,id = user.id?如何在factorygirls創建兩個對象Freelancer和User之後創建對象User,id = user.id?

FactoryGirl.define do 
    sequence :email do |n| 
    "user#{n}@test.com" 
    end 

    sequence :username do |n| 
    "user#{n}" 
    end 

    sequence :id do |n| 
    n 
    end 

    factory :user do 
    id 
    username 
    email 
    password 'qwerty' 
    password_confirmation 'qwerty' 

    factory :user_with_freelancer do 
     after(:create) do |user| 
     create(:freelancer, user: user, id: user.id) 
     create(:photo, freelancer: freelancer, id: freelancer.id) 
     end 
    end 
    end 

    factory :freelancer do 

    end 

    factory :photo do 

    end 

end 

在測試我打電話:

given(:user) { create(:user_with_freelancer) } 

自由職業者創造好的,但如何創建照片使用id = user.id和照片belongs_to的自由職業者?

回答

1
factory :user_with_freelancer do 
    after(:create) do |user| 
    freelancer = create(:freelancer, user: user, id: user.id) 
    create(:photo, freelancer: freelancer, id: freelancer.id) 
    end 
end 
+0

謝謝你,伊利亞 –

+0

歡迎你) – Ilya