FactoryBotで多対多の関連を組んでいる時のモックデータを作成する

こんにちは!kossyです!



さて、今回はFactoryBotで多対多の関連を組んでいる時のモックデータを作成するやり方について、ブログに残してみたいと思います。



例えば、

  • 学生(students)は授業(rectures)を複数持っている
  • 授業は学生を複数持っている

という関連があるとしましょう。

この場合、

# FactoryBotの省略構文を用いています。

student = create  :student
recture = create :recture
create :student_recture, student: student, recture: recture

上記のような定義方法になるかと思いますが、

student = create  :student
recture = create :recture, students: [student]

関連先のオブジェクトを配列で指定することによって、
中間テーブルのレコードを同時に作成することができます。


勉強になりました。