工厂女孩文档建议使用add_attribute方法处理保留字的属性,如下所示:
factory :dna do
add_attribute(:sequence) { 'GATTACA' }
end
但是我有一个名为Trait(保留)的模型和另一个名为ContestantTrait的模型,属于Trait。我尝试过以不同的方式使用add_attribute来避免关联的保留字问题,但似乎都没有。
有什么建议吗?这些是我迄今为止尝试过的格式:
FactoryGirl.define do
factory :contestant_trait do
add_attribute(:trait)
add_attribute(:trait) {}
add_attribute(:trait) {trait}
end
end
答案 0 :(得分:1)
由于:add_attribute
是一种关联,因此无需定义:trait
。使用关键字association
,如下所示:
FactoryGirl.define do
factory :contestant_trait do
association :trait
# ... other attributes
end
end
作为旁注,建议升级到FactoryBot
:
从factory_girl和factory_girl_rails的4.9.0版本开始,两个宝石都将被正式弃用。在4.9.0版本中。
有关更多信息以及如何升级,请参阅此帖子https://robots.thoughtbot.com/factory_bot。