0

我在 Rails 2 上,使用的最新版本 factory_girl 是 1.2.4

我有 2 张桌子:

种族(代码,描述)
人(id,姓名,...,*ethnicity_code*,...)

people.ethnicity_code 是外键

在 factory_girl factory.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),由于外键约束,我总是会收到插入错误。似乎它从关联中获得了不正确的主键。工厂女孩可以很好地创建种族记录,但它试图在 people 表中插入一个值“1”作为种族代码。

4

1 回答 1

2

我可能在这里叫错了树,但我怀疑问题p.association :ethnicity_code ...应该是p.association :ethnicity ...。即,您将关联命名为模型中定义的而不是外键列。

于 2010-11-23T19:52:39.387 回答