2017-12-02 10 views
0

工場の少女のドキュメントが予約語になっている属性を処理するためにADD_ATTRIBUTEメソッドを使用して助言するための属性:ファクトリー・ガール予約語は、協会

私は(予約されている)形質と呼ばれるモデルを持っているしかし
factory :dna do 
    add_attribute(:sequence) { 'GATTACA' } 
end 

とTraitに属するContestantTraitという別のモデル。私はアソシエーションの予約語の問題を避けるためにさまざまな方法で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