Случайная запись без дубликатов - PullRequest
0 голосов
/ 01 марта 2012

Я разрешаю пользователям находить случайные записи из списка постов. Я определяю случайную функцию в моей модели следующим образом:

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

Я бы очень хотел ограничить возможность дублирования. Постов не так много, поэтому я не беспокоюсь о производительности. Существует ли простой способ обеспечить отображение всех сообщений в случайном порядке перед повторным циклом просмотра одних и тех же сообщений?

1 Ответ

1 голос
/ 01 марта 2012

В зависимости от того, какой механизм хранения SQL вы используете, многие реализуют функцию RAND (), поэтому вы можете сделать что-то вроде этого:

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

Чтобы вернуть все сообщения в случайном порядке.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...