ruby-on-rails - FactoryGirl工厂特征内的序列不使用主序列计数器

标签 ruby-on-rails ruby factory-bot

我有以下工厂:

FactoryGirl.define do
  factory :foo do
    sequence(:name) { |n| "Foo #{n}" }

    trait :y do
      sequence(:name) { |n| "Fooy #{n}" }
    end
  end
end

如果我跑

create :foo
create :foo
create :foo, :y

我得到 Foo 1, Foo 2, Fooy 1。但我想要 Foo1, Foo2, Fooy 3。我怎样才能做到这一点?

最佳答案

经过 smile2day's answer 的一些提示后和 this answer ,我得出以下解决方案:

FactoryGirl.define do
  sequence :base_name do |n|
    " #{n}"
  end

  factory :foo do
    name { "Foo " + generate(:base_name) }

    trait :y do
      name { "Fooy " + generate(:base_name) }
    end
  end
end

关于ruby-on-rails - FactoryGirl工厂特征内的序列不使用主序列计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30873182/

相关文章:

ruby-on-rails - rails 语法 "render json: @products"

ruby-on-rails - 异步运行 Activerecord

ruby-on-rails - 如何使用 Paperclip 为我的附件指定文件名?

ruby-on-rails - 创建记录后更改工厂的属性

ruby-on-rails - 如何使用Factory Girl生成回形针附件?

ruby-on-rails - 在 ruby​​ on rails 中连接到多个数据库

ruby - cassandra cql 在 where 子句中使用日期过滤数据

ruby - 执行脚本的访问权限

ruby-on-rails - Rails - FactoryGirl - 测试模型 [验证]

ruby-on-rails - Rails 上的区 block 链去中心化数据库