Почему заводской бот обнуляется в атрибутах? Как я могу заставить его не делать этого? - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть простая фабрика

  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 дляздесь работать?

1 Ответ

1 голос
/ 24 апреля 2019

Это связано с тем, что ваши столбцы называются source и source_id. factory_bot предполагает, что source является ассоциацией, а source_id является внешним ключом для этой ассоциации.

Эта проблема часто возникает, и мы отслеживаем ее на https://github.com/thoughtbot/factory_bot/issues/1142.

...