假设我为测试目的创建了一个数据库,有没有办法可以将数据播种到列中,其中数字不同,例如在我的种子任务中:
10.times do
Post.create!(
Start_Date: ''
End_Date: ''
Number: "Random number from 1 to 10"
)
end
数字是随机的还是从 1 到 10 的增量都没有关系,只要它是不可重复的。有没有可以做到这一点的宝石?
假设我为测试目的创建了一个数据库,有没有办法可以将数据播种到列中,其中数字不同,例如在我的种子任务中:
10.times do
Post.create!(
Start_Date: ''
End_Date: ''
Number: "Random number from 1 to 10"
)
end
数字是随机的还是从 1 到 10 的增量都没有关系,只要它是不可重复的。有没有可以做到这一点的宝石?
只要您对序列 1..10 没问题,您就可以使用此代码
10.times do |i|
Post.create!(
Start_Date: ''
End_Date: ''
Number: i + 1
)
end
如果您需要随机数:
(1..10).to_a.shuffle.each do |i|
Post.create!(
Start_Date: ''
End_Date: ''
Number: i
)
end
为您提供 1-10 范围内的随机数
10.times do
Post.create!(
Start_Date: ''
End_Date: ''
Number: rand(1..10)
)
end
进行批量创建,所以它只发出一个查询来创建它们。
posts = []
10.times do
posts << {Start_date: '', End_Date: '', Number: rand(1..10)}
end
Post.create(posts)