【Rails】where検索で得た投稿(@posts)をランダムに並べ替えたい
解決したいこと
都市名(nameタグ=city_name)で検索した投稿(@posts)をランダムに並べ替えたい。
状況
都市別に投稿を集める機能を作っています。
投稿を集めた後、投稿を表示する際ランダムに並べ替えたいと考えています。
@post.shuffleなどではうまく行かず、自分の知識ではうまく並べ替えることができません。
もし解決策をご存じの方がいれば、教えていただけないでしょうか。
問題のコード(Postコントローラ)
posts_controller.rb
#都市名を使ってPostモデルを検索
def search
if params[:city_name] != nil
@posts=Post.where(city_name: params[:city_name])
else
@posts=Post.all
end
#@postsをシャッフルする。
???
end
自分で試したこと
@postsのidを集めて配列に直し、その後ランダムに並べ替えるということも考えたのですが、こちらも方法が分かりませんでした。
どなたかよい方法をご存じの方がいれば教えていただきたいです。
0