【问题标题】:association with a model that doesn't have primary key id与没有主键 ID 的模型关联
【发布时间】:2010-11-23 18:19:21
【问题描述】:

我在 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”作为种族代码。

【问题讨论】:

  • @jball 感谢您的修改
  • 很高兴为您提供帮助! (我希望我知道 ruby​​-on-rails,这样我就可以帮助你解决你的错误)

标签: ruby-on-rails factory-bot


【解决方案1】:

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

【讨论】:

  • 好吧!我以为我已经尝试过了,但它正在爆炸,但它现在似乎工作了!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-13
  • 2013-11-06
相关资源
最近更新 更多