gpt4 book ai didi

ruby-on-rails - Factory Girl 在 Rails 4 中未初始化常量 NameError

转载 作者:行者123 更新时间:2023-12-04 07:29:32 26 4
gpt4 key购买 nike

我正在尝试使用 Factory Girl 生成具有多态依赖项的模型实例。例如,Properties 可以有_one Assumption,Tenants 可以有_one Assumption,Properties 可以有_many Tenants。我想使用 Factory Girl 生成 :property_with_assumption 或 :tenant_with_assumption。

我可以毫无问题地使用 Properties 做到这一点:

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

我对租户有类似的定义:

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

但是当我尝试

FactoryGirl.create(:tenant_with_assumption, property: [valid property])

我明白了

NameError: uninitialized constant TenantWithAssumption

为什么它适用于一种模型而不适用于另一种模型?提前致谢。

最佳答案

需要提供:class参数:

factory :tenant_with_assumption, :class => 'Tenant' do

关于ruby-on-rails - Factory Girl 在 Rails 4 中未初始化常量 NameError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20133511/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com