目前还没有使用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>
我的尝试在很大程度上是猜测,因为我没有运气找到任何未弃用的语法来实现这一目标.
解决方法
实际上,我设法在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