rails 模型中类型列的工厂机器人
Factory bot for type column in rails model
我有一个型号名称collaborator
。
协作者字段是:(id, type, created_at, updated_at)
我还有两个型号Manager
和Guest
。
Manager
和 Guest
都扩展了 Collaborator
模型。因此合作者类型字段只能有两个值 Manager
或 Guest
.
因此在为合作者模型编写工厂时。我卡住了。
FactoryBot.define do
factory :collaborator do
#what to keep
type { '' }
end
结束
那么类型栏要写什么。所以它可以带经理或客人。
你应该这样做
factory :collaborator do
factory :manager, class: Manager do
type "manager"
end
end
我会选择更常见的类型。创建协作者时,您始终可以覆盖此属性: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
我有一个型号名称collaborator
。
协作者字段是:(id, type, created_at, updated_at)
我还有两个型号Manager
和Guest
。
Manager
和 Guest
都扩展了 Collaborator
模型。因此合作者类型字段只能有两个值 Manager
或 Guest
.
因此在为合作者模型编写工厂时。我卡住了。
FactoryBot.define do
factory :collaborator do
#what to keep
type { '' }
end
结束
那么类型栏要写什么。所以它可以带经理或客人。
你应该这样做
factory :collaborator do
factory :manager, class: Manager do
type "manager"
end
end
我会选择更常见的类型。创建协作者时,您始终可以覆盖此属性: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