2013-01-04 11 views
6

Nie ma obecnie żadnych aktualnych odpowiedzi na to za pomocą Factory Girl 4.1 (które mogłem znaleźć) - jak skonfigurować wiele do wielu relacji w fabryce?Rails 3 Factory Girl + Wiele do wielu relacji

Na przykład mam Studentów i Sale szkolne które są w wiele do wielu relacji przy użyciu dołączyć tabelę, do tej pory miałem następującą konfigurację:

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 

Jednak to powoduje:

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

Moja próba polegała na zgadywaniu w większości przypadków, ponieważ nie mogłem znaleźć żadnej nie-przestarzałej składni, aby to osiągnąć.

+0

możliwy duplikat [Jak utworzyć ma \ _i \ _belongi \ _to \ _ne skojarzenia w dziewczynie z fabryki] (http://stackoverflow.com/questions/1484374/how-to-create-has-and-belongs-to -mno-skojarzeń-w-fabryce-dziewczynie) – Noz

Odpowiedz

18

Właściwie udało mi się znaleźć odpowiedź szukałem zasypany mnóstwem innych odpowiedzi w ten sposób: 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

Myślę, że głównym powodem, dla którego nie można po prostu podać nazwy fabryki, jest oczekiwanie na tablicę. Dobry połów! –

Powiązane problemy