Заводской бот для типовой колонны в рельсовой модели - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть название модели collaborator.Поля коллаборатора: (id, type, create_at, updated_at)

Также у меня есть еще две модели Manager и Guest.

Оба Manager и Guest расширяет *Модель 1010 *.Таким образом, поле типа соавтора может иметь только два значения: Manager или Guest.

Таким образом, при написании фабрик для модели соавтора.Я застрял.

FactoryBot.define do
factory :collaborator do
  #what to keep
  type { '' }
end

end

Так что написать для столбца типа.Так что это может занять либо менеджер или гость.

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Я бы пошел на более распространенный тип.Вы всегда можете перезаписать этот атрибут при создании соавтора: create(:collaborator , type: 'manager').

Или вы можете определить еще 2 фабрики - одну для менеджера и одну для гостя, как:

FactoryBot.define do
  factory :collaborator do
    factory :manager, class: Manager do
      type { 'manager' }
    end

    factory :guest, class: Guest do
      type { 'guest' }
    end
  end
end
0 голосов
/ 21 сентября 2018

вы должны сделать что-то вроде этого

factory :collaborator do

  factory :manager, class: Manager do
    type "manager"
  end

end
...