为什么工厂机器人归零了属性?我怎么能不这样做呢?

问题描述 投票:0回答:1

我有一个简单的工厂

  factory :imported_object do
    sequence(:source_id) { |n| "id_#{n}" }
    source { 'default_source' }
  end

我试图测试它允许重复的source_ids,但只来自不同的来源。但是,我无法同时分配这些属性。我可以单独分配,但是

imported_object = build(:imported_object, source: '5', source_id: 'different_source')

导致两个对象在生成的nil中具有值imported_object

我怎样才能让FactoryBot在这里工作?

ruby-on-rails factory-bot
1个回答
1
投票

这与您的列被称为sourcesource_id的事实有关。 factory_bot假设source是一个关联,source_id是该关联的外键。

这个问题出现了很多,我们正在https://github.com/thoughtbot/factory_bot/issues/1142上跟踪它。

© www.soinside.com 2019 - 2024. All rights reserved.