第3モデルへのアソシエーションを持つ第2モデルへのアソシエーションを持つモデルのファクトリを持つ場合、ビルド方法を保持できますか?ネストしたアソシエーションを含むFactoryGirlビルド戦略
以下の例では、投稿はユーザーに関連付けられ、ユーザーは都市に関連付けられます。すべてのアソシエーションに:strategy => :build
が使用されている場合でも、post.user
とpost.user.city
はデータベースに保存されます。スピーディーなテストスイートのために、これらのデータベース書き込みが起こらないようにすることはできますか?
Factory.define do
factory :user do
name "A User"
association :city, :strategy => :build
end
factory :city do
name "A City"
end
factory :post do
title "A Post"
body "Some text here"
association :user, :strategy => :build
end
end
post = FactoryGirl.build(:post)
post.new_record? # True
post.user.new_record? # False
post.user.city.new_record? # False