2017-04-24 29 views
0

Sequelを使用しているときにアソシエーションファクトリの問題を解決する解決策がまだ見つかりません。関連付けられたオブジェクトにプライマリキーがありません

私は2つのモデルがアクティブレコードでbelongs_toと同じであるActive Recordの中has_many、およびmany_to_one、同じである、one_to_manyに頼っています。ここで

は定義されている工場:build(:comment)を実行している場合

FactoryGirl.define do 
    to_create { |instance| instance.save } 
    factory :post do 
    title "some title" 
    end 
end 

FactoryGirl.define do 
    to_create { |instance| instance.save } 
    factory :comment do 
    content "some content" 
    association :post, strategy: :build 
    end 
end 

、それはで失敗します。

Associated object does not have a primary key. 

誰もがそれを修正する方法のアイデアを持っていますか?私はいつも最初に投稿を作成/作成してからコメントに署名することができますが、面倒です。それ以上には、私はassociation :post, strategy: :buildを削除し、整数のランダム値を使用する必要があります。

私が使用している:

  • factory_girl_rails 4.8.0
  • ruby 2.4.0
  • sequel-rails 0.9.15
  • sequel 4.45.0

答えて

3

続編は、あなたがない限り、保存されていないオブジェクトに関連付けられたオブジェクトを追加サポートしていませんが両方を作成するためにnested_attributesプラグインを使用しています同時に。 FactoryGirlがそれに対処する特定のコードを持っていない限り、おそらく動作しません。

関連する問題