我不知道我只是在错误的地方还是在什么地方找东西,但是活动记录是否具有检索随机对象的方法?
就像是?
@user = User.random
或者…好吧,因为这种方法不存在,所以有一些惊人的“ Rails Way”来做到这一点,我似乎总是很冗长。我也使用mysql。
在Rails 4中,我将扩展ActiveRecord::Relation:
ActiveRecord::Relation
class ActiveRecord::Relation def random offset(rand(count)) end end
这样,您可以使用范围:
SomeModel.all.random.first # Return one random record SomeModel.some_scope.another_scope.random.first