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.