2012/02/16

ストロベリーナイト

原作を読み始めました。(ドラマは見てません)
結構面白い。
短絡的に「推理小説」を思い出しつつ、「マークスの山」が浮かんでます。
まだ、106ページ。
今週で読み終わるかな。

2012/02/15

[Rails]reverse_orderで降順ソート

RailsでActiveRecord::Baseの派生クラスを使ってQueryを実行する際に、
ソートする、のは当たり前にあります。

例えば、 「ユーザ」を現すモデル「User」があって、登録日時でソートする、
という場合は、


  @users = User.order(:created_at)


のように、orderメソッドを実行します。
この例では、created_atの昇順でソートされます。

降順でソートする場合は、どうしますか?
これまで私は、次のように書いていました。


  @users = User.order("created_at desc")


ですが、 reverse_orderという 便利なAPIがあったんですね、これを使えば、シンボルを使えるわけです。
なので、

  @users = User.order(:created_at).reverse_order


というように書けました。
すっきりしました!