工厂女孩与领域名称之间的冲突与协会

时间:2015-03-16 20:59:57

标签: ruby-on-rails factory-bot

由于遗留原因,我在Rails中有一个带有两个字段的模型:citycity_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

但这是不可能的。如何区分这两个城市领域?

1 个答案:

答案 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