私は factory_girl を初めて使用し、次のモデルのファクトリを効果的に生成する方法を見つけようとしています:
class Company < ActiveRecord::Base
has_and_belongs_to_many :tags
end
class Tags < ActiveRecord::Base
has_and_belongs_to_many :companies
validates :type , :inclusion => { :in => %w(market location) }
end
StackOverflow に関する以前の回答 (これを含む) を確認しましたが、それらのほとんどは古くなっているか、質問に対する適切な回答がありません。Factorygirl でこれら 2 つのオブジェクトのファクトリを定義するのを手伝ってくれる人はいますか?
アップデート
これが私がこれまでに思いついたものです
FactoryGirl.define do
factory :tag do
id 448
trait :market do
type "market"
end
trait :location do
type "location"
end
name "software"
end
factory :company do
id 1234
name "Apple Inc."
factory :company_with_tags do
#setting the default # of tags for companies
ignore do
tag_count 2
end
after(:create) do |company , evaluator|
FactoryGirl.create_list(:tag , evaluator.tag_count , company: company)
end
end
end
end