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)、外部キー制約のために常に挿入エラーが発生します。アソシエーションから間違った主キーを取得しているようです。Factory girl は民族性レコードを正常に作成しますが、people テーブルの民族性コードとして「1」の値を挿入しようとしています。

4

1 に答える 1

2

ここで間違ったツリーを吠えている可能性がありますが、問題はそうあるp.association :ethnicity_code ...べきだと思いますp.association :ethnicity ...。つまり、外部キー列ではなく、モデルで定義されている関連付けに名前を付けます。

于 2010-11-23T19:52:39.387 に答える