Rails 3工厂女孩+多对多关系



目前没有使用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的一系列其他答案下:如何在工厂女孩中创建has_and_belongs_to_many关联

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

查看这篇文章:如何在FactoryGirl中设置带有has_many关联的工厂。它会指向https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md;搜索has_many.

相关内容

  • 没有找到相关文章

最新更新