我有一个用户模型和国家/地区模型。有一组有限的国家(现在只有1个),在我的工厂中,我不确定如何将每个用户记录与一个国家/地区相关联。我尝试创建一个国家工厂并将每个用户与一个国家/地区相关联但由于我的国家/地区数据是静态的,因此它尝试为每个用户创建一个新国家/地区,但由于我在国家/地区拥有唯一性验证,因此失败了。这就是我的尝试:
factory :country do
country_iso 'GB'
country_code 44
country 'United Kingdom'
active true
end
factory :user do
email { Faker::Internet.email }
password { Faker::Internet.password(10) }
country
after(:create) do |usr, evaluator|
create_list(:canned_response, 3, user: usr)
end
trait :admin do
admin true
end
end
如何创建每个用户工厂创建的单个国家/地区?
答案 0 :(得分:0)
您可以使用现有国家/地区,也可以创建一个国家/地区:
factory :user do
email { Faker::Internet.email }
password { Faker::Internet.password(10) }
country { Country.first || create(:country) }
# ...
end