我使用FactoryGirl宝石创建以下工厂:错误与工厂女孩的Rails on Rails的复杂厂5
FactoryGirl.define do
conta_origem = FactoryGirl.create(:conta_pessoa_fisica)
conta_destino = ''
tipos = LogTransacao.tipos.keys
params = { conta_origem: conta_origem, conta_destino: conta_destino, tipo: tipos[0] }
codigo_transacional = LogTransacaoHelper::Gerador.codigo_alphanumerico(params)
factory :log_transacao_carga, class: LogTransacao do
codigo_transacional { codigo_transacional }
tipo { tipos[0] }
estornado { false }
valor { 0 }
conta_origem_id { conta_origem.id }
conta_origem_valor_antes_transacao { conta_origem.saldo }
end
end
conta.rb
FactoryGirl.define do
factory :conta do
nome { Faker::Name.name }
saldo { 0 }
status { 1 }
factory :conta_pessoa_fisica do
pessoa_type { 'PessoaFisica' }
pessoa_id { FactoryGirl.create(:pessoa_fisica).id }
end
end
end
所以,我发现了以下错误:
find': Factory not registered: pessoa_fisica
当我使用FactoryGirl.create工厂内也没有发生此问题“:log_transacao_carga”。
conta_origem_id {FactoryGirl.create(:conta_pessoa_fisica).ID}
但是,如果我这样做,我不能用同一个工厂来填充 conta_origem_valor_antes_transacao。所以,我需要在log_transacao_carga工厂之前创建这个工厂。
请问有人可以帮助我吗?
嘿,@Dimitry_N,我会检查这个特质。我没有使用它,因为我一直使用嵌套工厂,并且它一直运行到此刻之前。 我不知道特质,所以我会尽量使用它。谢谢您的帮助。 –