代码之家  ›  专栏  ›  技术社区  ›  Sourabh Banka

rails模型中类型列的工厂bot

  •  0
  • Sourabh Banka  · 技术社区  · 6 年前

    我有个模特的名字 collaborator .

    我还有两个模型 Manager Guest .

    经理 扩展 Collaborator 模型。所以collaborator type字段只能有两个值 经理 .

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

    结束

    那么要为type列编写什么。所以可以是经理或客人。

    2 回复  |  直到 6 年前
        1
  •  2
  •   Kedarnag Mukanahallipatna    6 年前

    你应该这样做

    factory :collaborator do
    
      factory :manager, class: Manager do
        type "manager"
      end
    
    end
    
        2
  •  1
  •   P. Boro    6 年前

    我会选择一种更普通的类型。创建协作者时,始终可以覆盖此属性: create(:collaborator , type: 'manager')

    或者你可以再定义两个工厂——一个是经理,一个是客人,就像:

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