Rails アプリでは、FactoryGirl を使用して、一般的なファクトリといくつかのより具体的なトレイトを定義しています。一般的なケースと、1 つを除くすべての特性には特定の関連がありますが、その関連が作成/構築されていない特性を定義したいと思います。after
コールバックを使用してアソシエーションをid
toに設定できますnil
が、最初からアソシエーション レコードの作成が停止されるわけではありません。
特性が属するファクトリに対して定義された関連付けの作成/構築を完全に無効にする方法は特性定義にありますか?
例えば:
FactoryGirl.define do
factory :foo do
attribute "value"
association :bar
trait :one do
# This has the bar association
end
trait :two do
association :bar, turn_off_somehow: true
# foos created with trait :two will have bar_id = nil
# and an associated bar will never be created
end
end
end