相关对象没有主键
问题描述:
我仍然无法找到解决方案来解决使用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
答
续集不支持增加的关联对象的未保存的对象,除非你正在使用nested_attributes插件来创建两者与此同时。所以除非FactoryGirl有特定的代码来处理这个问题,否则它可能不会起作用。