没有重复的随机记录

时间:2012-03-01 00:20:23

标签: ruby-on-rails

我允许用户从帖子列表中查找随机记录。我在我的模型中定义了随机函数,如下所示:

def self.random
   if (c = count) != 0
 find(:first, :offset => rand(c))
   end
end

我真的想限制重复的可能性。帖子不多,所以我不担心表现。是否有一种简单的方法可以确保所有帖子以随机顺序显示,然后再次循环播放相同的帖子?

1 个答案:

答案 0 :(得分:1)

根据您使用的SQL存储引擎,许多人实现了RAND()函数,因此您可以执行以下操作:

MyModel.order('RAND()').all

以随机顺序返回所有帖子。