【发布时间】:2016-04-30 13:06:00
【问题描述】:
我在为与 FactoryGirl 的多态关联设置工厂时遇到问题。我的型号和出厂设置如下所示:
class Address < ActiveRecord::Base
belongs_to :addressable, polymorphic: true
end
class Customer < ActiveRecord::Base
has_one :address, as: :addressable
end
factory :address do
village Faker::Address.city
upazilla Faker::Address.street_name
ward Faker::Address.street_address
district Faker::Address.state
association :addressable
end
factory :customer ,class: Customer do
recharge_token 10
date_of_birth Faker::Date.backward(100)
manager
after(:create) do |customer|
customer.address = create(:address, addressable: customer)
#create( :address, addressable: customer)
end
end
测试套件因以下错误消息而中断
vendor/cache/ruby/2.2.0/gems/factory_girl-4.7.0/lib/factory_girl/linter.rb:12:in `lint!': The following factories are invalid: (FactoryGirl::InvalidFactoryError)
* address - Factory not registered: addressable (ArgumentError)
This 正是我的问题,但不幸的是他的解决方案对我不起作用。谢谢大家的时间!
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 factory-bot rspec-rails