【发布时间】:2019-06-14 16:46:09
【问题描述】:
我有一个医院和患者模型。医院与患者有很多关系。我在医院模型validates :patients, :presence => true 中进行了验证检查。添加此验证检查后,控制器的 rspecs 失败,这只是创建医院对象。我试图创建一个可以创建医院和患者的工厂,但到目前为止没有运气。这是我到目前为止所尝试的。
FactoryBot.define do
factory :hospital do
hospital_id { Faker::Crypto.unique.md5 }
name { 'something' }
departments { 'some description' }
after(:create) do |hospital|
create(:patient, patient_id: hospital.id)
end
end
end
知道我做错了什么吗?
【问题讨论】:
-
IINM 基于上述,您正在创建
patient之后hospital因此验证失败,因为验证需要patient(创建hospital时) -
我不知道强制医院接受此类验证是否有很大价值。如您所见,它使创建医院记录变得更加困难。这样的验证不会阻止您以后删除所有患者记录,从而使您的医院无效且无法保存。
标签: ruby-on-rails ruby