Factorybotのアソシエーションについてgithubに書かれているものをまとめる。
ちなみにFactorybotとは以前のFactorygirlと同じものである。
belongs_toの関係
postモデルがauthorモデルに対してbelongs_toの関係にあるとき。
factoryで定義している名称がモデル名と一致するとき。
factory :post do
# ...
author
end
factoryで定義している名称がモデル名とは異なるとき。
factory :post do
# ...
association :author, factory: :user, last_name: "Writely"
end
associationメソッドの第一引数はモデルの名称、第二引数はモデルで定義しているfactoryの名称、第三引数以降はfactoryで定義している属性を上書きしたいときに使用。
よってfactoryで定義している名称がモデル名と一致するときの記述は以下のものと同じことを示す。
factory :post do
# ...
association :author, factory: :author
end