2017-12-02 198 views
0

工厂女孩文档建议使用ADD_ATTRIBUTE方法来处理属于保留字的属性,具体如下:工厂女孩保留字属性的关联

factory :dna do 
    add_attribute(:sequence) { 'GATTACA' } 
end 

但是我有一个名为特质(这是保留的)模型称为ContestantTrait的另一种模型,属于Trait。我试着用不同的方式使用add_attribute来避免关联中的保留字问题,但似乎没有任何工作。

有什么建议吗?这是到目前为止,我已经试过格式:

FactoryGirl.define do 
    factory :contestant_trait do 
    add_attribute(:trait) 
    add_attribute(:trait) {} 
    add_attribute(:trait) {trait} 
    end 
end 
+0

你可以使用新名称来保留保留字,你应该没问题。 –

回答

0

没有必要界定,因为:trait:add_attribute是一个关联。使用关键字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更多的形成和如何升级。

+0

你能解决你的问题与上述解决方案? – s3tjan