我遇到的问题与问题here相同。这篇文章已经过时了。我想知道如何做同样的事情。我的工厂是:
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)
失败是因为配置文件模型中的验证错误且用户为空。
答案 0 :(得分: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)
。