#参考対象者
- Railsで、アプリ作ってるけど、あるデータの並び替えをしたいなと思っている方
#特定の状況下で、データを並び替えたいとき
###基本形
Model.order(Column: :DESC)
Model.order("Column DESC")
デフォルトでは、ASC(昇順)になっているので、DESC(降順)にすることができる
###実際に、並び替えしたデータ群を取得してみる
feed_controller.rb
#データベース上の全てのデータを取得
feeds = Feed.order(id: :DESC)
#現在ログイン中ユーザーの全てのデータを取得
feeds = current_user.feeds.order(id: :DESC)
今回は、Feedモデルというデータを取得してみた。
上は、データベース上の全てのデータを取得し、
下は、現在ログイン中ユーザーの全てのデータを取得している。
こうすることで、降順になったデータ群を取得することができる。
#デフォルト設定を変更して、並び替えしたいとき
###モデルファイルに並び順を設定する
models/feed.rb
default_scope -> { order(created_at: :desc) }
今回も、Feedモデルというデータの並び替え設定をした。
この記法は、ラムダ関数というもので、特殊である。
こうすることで、作成した日時(created_at)の降順で、並び替えするようにデフォルト設定を行うことができる。