क्या निर्माण रणनीति को संरक्षित करना संभव है जब मेरे पास ऐसे मॉडल के लिए एक कारखाना है जो दूसरे मॉडल से जुड़ा हुआ है, जिसका स्वयं तीसरे मॉडल का सहयोग है?फैक्टरीगर्ल नेस्टेड एसोसिएशन के साथ रणनीति तैयार करें
नीचे दिए गए उदाहरण में, एक पोस्ट उपयोगकर्ता से जुड़ा हुआ है, और उपयोगकर्ता एक शहर से जुड़ा हुआ है। यहां तक कि :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