在 Rails 中 Seeds.rb 中设置规则
Set Rules in Seeds.rb in Rails
全部。我目前正在使用 faker
gem 添加到 Rails 中的 seeds.rb
文件。我想知道:你如何让假数据跟随"the rules"我想要的?
我正在构建一个篮球统计应用程序。我希望 seeds
中的 stat
创建 300 组统计数据,其中我在 stat
模型中设置的所有条件都为真。现在,300 组数据中只有 7-9 组最终被创建。有没有办法让 seeds
忽略不起作用的模型并使 300 个起作用?
例如,我希望投篮命中率(fga
在我的数据库中)大于或等于投篮命中率(fg
)。 (我在我的模型中设置了这个 "rule"。)当我在我的种子文件中这样做时:
# 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
将遵循它? (我的模型还有一些其他规则,否则我会以不同的方式设置假数字。)
谢谢
until Stat.count >= 300 do
Stat.create(
fg: Faker::Number.between(0, 15),
fga: Faker::Number.between(0, 20)
# more stats below
)
end
全部。我目前正在使用 faker
gem 添加到 Rails 中的 seeds.rb
文件。我想知道:你如何让假数据跟随"the rules"我想要的?
我正在构建一个篮球统计应用程序。我希望 seeds
中的 stat
创建 300 组统计数据,其中我在 stat
模型中设置的所有条件都为真。现在,300 组数据中只有 7-9 组最终被创建。有没有办法让 seeds
忽略不起作用的模型并使 300 个起作用?
例如,我希望投篮命中率(fga
在我的数据库中)大于或等于投篮命中率(fg
)。 (我在我的模型中设置了这个 "rule"。)当我在我的种子文件中这样做时:
# 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
将遵循它? (我的模型还有一些其他规则,否则我会以不同的方式设置假数字。)
谢谢
until Stat.count >= 300 do
Stat.create(
fg: Faker::Number.between(0, 15),
fga: Faker::Number.between(0, 20)
# more stats below
)
end