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:錯誤:重複鍵值違反唯一約束 「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
任何指導,將不勝感激,謝謝。