はじめに
Railsで取得した値を並び替えする際には、order
メソッドを使うのが一般的だと思います。
ただ、他のテーブルから取得した値をソートする際にちょっとハマったのでメモを残しました。
1つのテーブルでソートする場合
リファレンスにもありますがこちらは非常にわかりやすいです。
モデル.order("カラム名 DESC")
別のテーブルのカラムをソートする場合
例えば、project
モデルのdate
カラムをソートする場合
結論からいうと下記のように書けばうまく行きました。
モデル.includes(:project).order("projects.date DESC")
ポイントはorderの中では複数形で書くといいそうです。