2017-04-24 33 views
0

我仍然无法找到解决方案来解决使用Sequel时出现的关联工厂问题。相关对象没有主键

我有依靠one_to_many两种型号,这是一样的has_many在活动记录,并many_to_one,这是相同的Active Record belongs_to

这里是定义工厂:

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 

当运行build(:comment),它失败:

Associated object does not have a primary key. 

有没有人有一个想法如何解决呢?我总是可以先构建/创建一个帖子,然后签署一个评论,但这很乏味。更重要的是,我将不得不删除association :post, strategy: :build并使用一些Integer随机值。

我使用:

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

回答

3

续集不支持增加的关联对象的未保存的对象,除非你正在使用nested_attributes插件来创建两者与此同时。所以除非FactoryGirl有特定的代码来处理这个问题,否则它可能不会起作用。

相关问题