我在Rails 2上,最新版本的factory_girl使用的是1.2.4
我有两张桌子:
种族(代码,描述)
人( id ,姓名,...,* ethnicity_code *,...)
people.ethnicity_code是外键
在factory_girl factories.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”的值作为ethnicity_code。
答案 0 :(得分:2)
我可能会在这里咆哮错误的树,但我怀疑问题是p.association :ethnicity_code ...
应该是p.association :ethnicity ...
。即,您将关联命名为模型中定义的关联而不是外键列。