現在、Factory Girl 4.1を使用したこれに対する最新の回答はありません(私が見つけたものです)-工場内で多対多の関係をどのように設定しますか?
たとえば、結合テーブルを使用して多対多の関係にある生徒と教室があります。これまでのところ、次の設定があります。
factory :classroom do
name "Foo Class"
...
end
factory :student do
name "John Doe"
...
end
factory :student_with_classroom, :parent => :student do
after(:build) {|student| student.classrooms << classroom}
end
ただし、これにより次の結果になります。
NameError:
undefined local variable or method `classroom' for #<FactoryGirl::SyntaxRunner>
これを達成するための非推奨ではない構文を見つけることができなかったため、ほとんどの場合、私の試みは当て推量でした。