それぞれが同じ親モデルを持つ必要がある2つの異なるモデルに属するファクトリを作成する方法を理解しようとしています。考案されたサンプル コードは次のとおりです。
class User < ActiveRecord::Base
has_many :widgets
has_many :suppliers
attr_accessible :username
end
class Widget < ActiveRecord::Base
belongs_to :user
has_many :parts
attr_accessible :name
end
class Supplier < ActiveRecord::Base
belongs_to :user
has_many :parts
attr_accessible :name
end
class Part < ActiveRecord::Base
belongs_to :supplier
belongs_to :widget
attr_accessible :name
end
これが私がこれまでに持っているものです:
factory :user do
name 'foo'
end
factory :widget do
association :user
name 'widget'
end
factory :supplier do
association :user
name 'supplier'
end
factory :part do
association :widget
association :supplier
name 'part'
end
これの問題は、part.widget.user != part.supplier.user
と が同じでなければならないことです。
私は成功せずに次のことを試しました:
factory :part do
association :widget
association :supplier, user: widget.user
name 'part'
end
助言がありますか?それとも、パーツを作成した後に変更する必要がありますか?
ありがとうございました