在Rails中的Seeds.rb中设置规则

时间:2015-09-12 17:52:32

标签: ruby-on-rails seeding faker

所有。我目前正在使用seeds.rb gem在Rails中添加我的faker文件。我想知道:你如何让假数据遵循我想要的“规则”?

我正在建立一个篮球统计应用程序。我希望stat中的seeds创建300组统计信息,其中我在stat模型中设置的所有条件都是真的。目前,300组数据中只有7-9个最终被创建。有没有办法让seeds忽略那些不起作用的模型,并使300能够做到?

例如,我希望实地目标尝试(我的数据库中的fga)大于或等于所做的字段目标(fg)。 (我在我的模型中设置了这个“规则”。)当我在种子文件中执行此操作时:

# seeds.rb snippet     
300.times do    
 stat = Stat.create(
        fg: Faker::Number.between(0, 15),
        fga: Faker::Number.between(0, 20)
        # more stats below
 )

如何确保fga每次都是> = fg

我是否必须在seeds中具体说fg不能大于fga?或者我在stat.rb模型文件中设置方法,Faker会遵循它吗? (我对我的模型有一些其他规则,否则我只会设置不同的假数字。)

由于

1 个答案:

答案 0 :(得分:0)

until Stat.count >= 300 do
  Stat.create(
    fg: Faker::Number.between(0, 15),
    fga: Faker::Number.between(0, 20)
    # more stats below
  )
end