为什么工厂机器人清空传入的属性?我怎么能让它不这样做



我有一个简单的工厂

  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')

使两个对象在生成的imported_object中都具有nil的值

我怎样才能让工厂机器人在这里工作?

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

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

相关内容

最新更新