出于遗留原因,我在 Rails 中有一个模型,其中包含两个字段:city
和 city_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