【问题标题】:Factory Girl Reserved Word Attributes for Association工厂女孩为协会保留字属性
【发布时间】:2017-12-02 19:16:18
【问题描述】:

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

【问题讨论】:

  • 你可以用一个新名字为保留字起别名,你应该没问题。

标签: ruby-on-rails factory-bot


【解决方案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 版本开始,这两个 gem 都将被正式弃用。在 4.9.0 版本中。

有关更多信息以及如何升级,请参阅此帖子 https://robots.thoughtbot.com/factory_bot

【讨论】:

  • 你能用上面的方法解决你的问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-26
  • 1970-01-01
  • 1970-01-01
  • 2015-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多