2013-01-04 32 views
6

Hiện tại không có câu trả lời cập nhật cho việc này bằng cách sử dụng Factory Girl 4.1 (tôi có thể tìm thấy) - làm cách nào để thiết lập mối quan hệ nhiều đến nhiều bên trong nhà máy?Rails 3 Factory Girl + Nhiều mối quan hệ

Ví dụ tôi có Học sinhlớp học mà đang ở trong một nhiều mối quan hệ sử dụng một bảng tham gia, cho đến nay tôi đã thiết lập sau:

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 

Tuy nhiên kết quả này trong:

NameError: 
     undefined local variable or method `classroom' for #<FactoryGirl::SyntaxRunner> 

Nỗ lực của tôi đã được phỏng đoán nhiều nhất vì tôi không may mắn tìm được bất kỳ cú pháp không được dùng nữa để thực hiện việc này.

+0

bản sao có thể có của [Cách tạo và \ _và \ _nhìn \ \ thành \ _nhiều liên kết trong Nhà máy nữ] (http://stackoverflow.com/questions/1484374/how-to-create-has-and-belongs-to -many-associations-in-factory-girl) – Noz

Trả lời

18

Thật sự tôi quản lý để tìm ra câu trả lời tôi đang tìm kiếm bị chôn vùi dưới một loạt các câu trả lời khác trong SO này: 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 
+0

Tôi nghĩ lý do chính bạn không thể chỉ nêu tên của nhà máy là bởi vì nó mong đợi một mảng. Nắm bắt tốt! –

Các vấn đề liên quan