ruby-on-rails - FactoryBot Rails如何在创建记录时填写“属于”字段
问题描述
我有组和用户模型,并试图创建相应的工厂进行测试。
FactoryBot.define do |variable|
factory :group do
name { Faker::Name.name }
end
end
由于用户属于一个组,我需要给它一个整数值(组 ID),但不知道如何。从我的 Laravel 背景来看,这就是我所期待的......
FactoryBot.define do |variable|
factory :user do
email { Faker::Internet.unique.email}
name { Faker::Name.name }
password { Faker::Internet.password }
# Grab a first group record in the database or create a new one and return its ID.
group_id : # ????
end
end
这是我第一次使用 Ruby 和 Ruby on Rails 进行编程,我在谷歌上搜索很难做到。这个的语法是什么?
另外,这是编写带有关联的工厂的最佳方式吗?
解决方案
这是正确的语法:
FactoryBot.define do |variable|
factory :user do
email { Faker::Internet.unique.email}
name { Faker::Name.name }
password { Faker::Internet.password }
group
end
end
如果您未指定group
,FactoryBot 将group
在您创建或构建user
.
如果您确实指定了group
,FactoryBot 将使用group
您指定的。