У меня есть несколько тегов для каждого сообщения. (Очень похоже на SO). Я хочу 20 случайных предметов, не повторяющихся.Rails: получить список случайных элементов из базы данных MySQL
Я знаю, что могу использовать Tags.all.rand
(И повторяю 10 раз), однако это не гарантирует уникальность.
И я знаю, что я мог бы использовать SQL-запрос, но так как моя среда разработки использует sqlite как db и MySQL в процессе производства, ORDER by RAND
не будет работать для обоих.
Помимо двух разных запросов (Dev & Prod), что еще я могу сделать?
Thanks
Я всегда использую 'array.sort_by {rand}' для рандомизации массивов. Это лучший способ сделать это (вероятностно?). Мне любопытно – Chubas
Это отличное решение, спасибо. Я отредактировал свой ответ соответственно, спасибо! :) – Olly