工厂女孩为协会保留的Word属性

时间:2017-12-02 19:16:19

标签: ruby-on-rails factory-bot

工厂女孩文档建议使用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

1 个答案:

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