Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fabrication gem associations that depend on each other

The following is my fabricator:

Fabricator(:my_fabricator) do
  my_first_association
  my_second_association
end

The problem here is that I need to pass my_first_association to my_second_association. Couldn't find anything related in the docs.

like image 872
Patsy Issa Avatar asked Oct 25 '25 22:10

Patsy Issa


1 Answers

If you pass a block value you can inspect the attributes hash of the object being generated.

Fabricator(:my_fabricator) do
  my_first_association
  my_second_association do |attrs|
    Fabricate.build(:my_second_association, my_first_association: attrs[:my_first_association])
  end
end
like image 166
Paul Elliott Avatar answered Oct 28 '25 11:10

Paul Elliott