由于遗留原因,我在Rails中有一个带有两个字段的模型:city
和city_id
。
city
是一个包含城市名称的字符串。
city_id
是对city
对象的引用。
我应该如何用factory_girl申报我的工厂?
我想像这样填写city_id和city:
factory :address do
street "Street X"
city #uses city factory
city "MyCity" #uses legacy city
end
但这是不可能的。如何区分这两个城市领域?
答案 0 :(得分:3)
根据the docs,您只能在遵循常规约定时使用隐式关联。因此,对于这种情况,您需要使用association
方法的显式调用。
在下面的示例中,将:replace_this
替换为调用模型中belongs_to
关联的任何内容:
factory :address do
street "Street X"
association :replace_this, factory: :city #uses city factory
city "MyCity" #uses legacy city
end