LoginSignup
1
1

More than 3 years have passed since last update.

【Rails】order

Last updated at Posted at 2020-04-14

取得した値を並び替えるメソッドになります。

orderとは

create_table "posts", force: :cascade do |t|
 t.string "content"
 t.datetime "created_at", null: false
 end

通常、上記のようなPostモデルだとデータベースに格納される値は昇順になります。

:id => 1
:created_at =>3.days.ago
:id =>2
:created_at =>1.days.ago
:id =>3
:created_at =>Time.zone.now

ただし、実際のアプリケーションであれば投稿を行う際に時間などは降順で表示されます。
そこでorderを使用します。

以下はorderを使用したサンプルになります。

class Post < ActiveRecord::Base
  default_scope -> { order(created_at: :desc) }
end

default_scopeは読んだままデフォルトのスコープを定義するメソッドです。ここで定義されたスコープは全てのクエリに適用されます。
※ クエリ:データベースさんに対する命令文のこと。
スコープ:影響範囲

created_atの後の:descはdescendingの略で降順という意味です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1