目前没有使用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>
我的尝试在很大程度上是猜测,因为我没有找到任何未弃用的语法来完成此任务。
答案 0 :(得分:18)
实际上,我设法在这个SO中找到了我正在寻找的答案,其中包括一些其他答案:How to create has_and_belongs_to_many associations in Factory girl
factory :classroom do
name "Foo Class"
...
end
factory :student do
name "John Doe"
...
end
factory :student_with_classroom, :parent => :student do
classrooms {[FactoryGirl.create(:classroom)]}
end
答案 1 :(得分:1)