如何在factorygirl中创建对象User后创建两个对象Freelancer和User,id = user.id?

How in factorygirls create two objects Freelancer and User after creting object User, with id = user.id?

如何在factorygirls创建对象User后创建两个对象Freelancer和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) }

Freelancer 正在创建 ok,但是如何使用 id = user.id 和照片 belongs_to freelancer 创建照片?

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