Я на Rails 2, новейшая версия factory_girl - 1.2.4
У меня есть 2 таблицы:
этническая принадлежность ( код , описание)
человек ( id , имя, ..., * код этнической принадлежности *, ...)
people.ethnicity_code - это внешний ключ
На фабриках factory_girl.rb:
Factory.define :ethnicity
f.sequence :code { |n| n+20 }
f.description 'Foo'
end
Factory.define :person do |p|
p.name 'So and so'
...
p.association :ethnicity_code, :factory => :ethnicity
...
end
В моих моделях установлены правильные ассоциации и "set_primary_key: code"
Когда я выполняю Factory(:person)
, я всегда получаю ошибку вставки из-за ограничения внешнего ключа.Казалось бы, он получает неправильный первичный ключ от ассоциации.Фабричная девушка создает запись об этнической принадлежности в порядке, но она пытается вставить значение «1» в качестве этнического кода в таблице пользователей.