我正在使用它来选择一个随机匹配,并测试它的结果,并绘制一个随机匹配,直到它满足while
循环的标准:
m = Matchup.order("RANDOM()").first
循环设置为break
10个循环后(避免无限循环),我会随意跳出循环,查看日志,看Matchup每次经过循环都是一样的。循环的简化版本是这样的:
counter = 0
while counter < 5
m = Matchup.order("RANDOM()").first
logger.debug('Matchup ID: ' + m.id)
counter += 1
end
日志将如下所示:
Matchup ID: 7
Matchup ID: 7
Matchup ID: 7
Matchup ID: 7
Matchup ID: 7
为什么会m = Matchup.order("RANDOM()").first
随意不拉不同的Matchup?最奇怪的部分是,有时它可以正常工作,而其他它卡在循环 b/cm
中并没有改变。有什么建议么?
如果你想看到实际的循环,你可以在这里看到它(在getRandomMatchup
函数中):
https ://github.com/jackerman09/wdis/blob/master/app/controllers/static_pages_controller.rb