0
すでに存在するアソシエーションを割り当てる正しい方法は何ですか?FactoryGirlアソシエーション重複キーエラー
ユーザーと都市の間にhas_one関係を割り当てようとしています。ここでは、同じ都市を多くのユーザーや他のエンティティ(イベントなど)で使用できます。
コード
FactoryGirl.define do
factory :user do
name 'john'
trait :in_boston do
association :city, factory: :boston
end
end
end
エラー
PG :: UniqueViolation:ERROR:データベースに二回ボストンを作成しようとしているので、重複するキー値が一意性制約 "city_pkey" を違反しています。
私がしたいのは、既存の工場を参照するだけで、新しい工場を作成することではありません。
私の現在の作業(しかし、理想的な未満)ソリューション
FactoryGirl.define do
factory :user do
name 'john'
trait :in_boston do
after(:create) do |user|
user.city = City.find_by_name('Boston') || create(:boston)
end
end
end
end
どれ指導をいただければ幸いです、ありがとう。