工厂女孩字段名称与关联之间的冲突



出于遗留原因,我在 Rails 中有一个模型,其中包含两个字段:citycity_id

city是带有城市名称的字符串。 city_id是对city对象的引用。

我应该如何用factory_girl申报我的工厂?

我想像这样填充city_id和城市:

   factory :address do
     street "Street X"
     city          #uses city factory
     city "MyCity" #uses legacy city   
   end

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

根据文档,您只能在遵循正常约定时使用隐式关联。 因此,对于这种情况,您需要对 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

最新更新