ランダムなトラックを選択しようとしていますが、特定のレコードとのマッチングを避ける必要があります。RailsでランダムなSQLクエリをキャッシュするのを防ぐ
これは私のコードですが、whileループが終了しないようにクエリのCACHEを返し続けます。
current_track = Track.find(10)
random_track = Track.limit(1).order("RANDOM()").first
while random_track == current_track
random_track = Track.limit(1).order("RANDOM()").first
Rails.logger.debug "getting another random one..." random_track
end
これを防ぐにはどうすればよいですか?
私はそれを使用する理由がないので、 'uncached'を使用しないことをお勧めします。何かが壊れています。 –
ありがとう!それは完全に機能し、キャッシュされていない構文を知っているのは良いですが、私はwhereクエリを使う方が良いと完全に同意します! – Chris