ランダムにデータベースからレコードを選択して、自分のビューに表示しようとしています。キャッチは、すべてのレコードが少なくとも1回選択されるまで、選択したランダムレコードを繰り返すことは望ましくありません。たとえば、テーブルに10個のレコードがあるとしましょう。ランダムレコードを1つ選択し、他の9個のレコードが少なくとも1回選択されるまでランダムに選択されたレコードが再度選択されないようにします。レールでランダムレコードを選択する
スニペット:
offset = rand(Quote.count)
@qotd = Rails.cache.fetch("term", :expires_in => 6.seconds){ Quote.offset(offset).first }
'order(" RAND() ")'は、そのテーブルがかなり大きい場合、または頻繁にそのクエリにヒットしている場合、データベースサーバーに呼び出しを設定します。 – Grocery