Rails:includesしてソートする

〜順に並べ替えたいので、orderを使ってやってみようということになった。

bookとcommentは1:nの関係。

class Book < ActiveRecord::Base
  belongs_to :user
  has_many :comments
end

一つのテーブル(book)内で降順にソートする

# Model.order("column_name desc")
@books = Book.order("created_at desc")

別のテーブル(comment)のnameというカラムの値で降順にソートする

# Model.includes(:another_model).order("another_models.name desc")
@books = Book.includes(:comment).order("comments.name desc")

こっちは、できなかった... group byして、擬似的にカラムをつくり、そのカラムで order by する必要があるらしい。 やってみなければ!

...やってみた(・∀・)
Rails:LEFT JOINしてソートする - Hello world, I am kgmx.