【发布时间】:2021-11-19 23:20:37
【问题描述】:
我正在使用带有 FactoryGirl 4.9.0 的 Rails 6。我有这些模型,一个有一个 has_many 和另一个......
class Contract < ApplicationRecord
…
belongs_to :client
class Client < ApplicationRecord
…
has_many :contracts
在我的工厂里,我有
FactoryGirl.define do
factory :client do
name "Test Client”
end
factory :dp_client, class: Client do
Contracts { [create(:contract)] }
end
end
但是当我去使用工厂时,
create(:dp_client)
我得到了错误……
Validation failed: Client must exist
在我的工厂中创建“has_many”关系时,我是否将其绑定回创建它的对象?
【问题讨论】:
-
上面的评论是解决方案。如果您在将 FactoryGirl 迁移到 FaactoryBot 时遇到任何问题,可以查看这个github.com/thoughtbot/factory_bot/blob/4-9-0-stable/…
标签: ruby-on-rails unit-testing factory-bot ruby-on-rails-6 has-many