thu*_*son 3 ruby-on-rails ruby-on-rails-4 factory-bot
我正在尝试使用Factory Girl生成具有多态依赖项的模型实例.例如,属性可以具有_one假设,租户可以具有假设,而属性可以具有多个租户.我想使用Factory Girl生成:property_with_assumption或a:tenant_with_assumption.
我可以使用属性做到这一点没有问题:
FactoryGirl.define do
factory :property do
...fields...
end
factory :property_with_assumption do
after(:create) do |property|
FactoryGirl.create(:assumption, assumable: property)
end
end
end
Run Code Online (Sandbox Code Playgroud)
我对租户有类似的定义:
FactoryGirl.define do
factory :tenant, :class => 'Tenant' do
...fields...
end
factory :tenant_with_assumption do
after(:create) do |tenant|
FactoryGirl.create(:assumption, assumable: tenant)
end
end
end
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试
FactoryGirl.create(:tenant_with_assumption, property: [valid property])
Run Code Online (Sandbox Code Playgroud)
我明白了
NameError: uninitialized constant TenantWithAssumption
Run Code Online (Sandbox Code Playgroud)
为什么它适用于一种型号而不适用于另一种型号?提前致谢.
您需要提供:class参数:
factory :tenant_with_assumption, :class => 'Tenant' do
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2378 次 |
| 最近记录: |