私は鶏と卵のタイプの問題を抱えています。テスト用に入力する必要がある default_domain _id を持つ Isp モデルがあります。問題は、ドメインが 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
アプリ/モデル/ドメイン.rb
class Domain < ActiveRecord::Base
belongs_to :isp
...
end
工場で after(:create) コールバックを使用してみましたが、循環参照が作成されているようです。ブロックを使用して遅延評価を試みました。同じこと。次はどこを見ればいいのか、何を試すべきなのか途方に暮れています..