我有点鸡和蛋的问题。我有一个 Isp 模型,它有一个 default_domain _id,我需要为我的测试填充它。问题是域属于 ISP。所以我想弄清楚如何建立工厂来生成一个 ISP
工厂/isp.rb
FactoryGirl.define do
factory :isp do
sequence :name do |n|
"ISP" + n.to_s
end
end
end
工厂/域.rb
FactoryGirl.define do
factory :domain do
isp
account
sequence :dn do |n|
"foo-#{n}.com"
end
active :true
end
end
应用程序/模型/isp.rb
class Isp < ActiveRecord::Base
has_many :domains
belongs_to :default_domain, class_name: 'Domain'
end
应用程序/模型/domain.rb
class Domain < ActiveRecord::Base
belongs_to :isp
...
end
我尝试在工厂中使用 after(:create) 回调,这似乎只是创建循环引用。尝试使用块来懒惰地评估它。一样。只是不知道下一步该去哪里看或我应该尝试什么..