2010年8月20日
Rails: default_scopeを使った場合注意しておきたいこと
Rails: default_scopeを使った場合注意しておきたいことArticleモデルがあるとします。ブログの記事は普通最新の順番で並んでまのでこんなdefault_scopeを定義したかもしれません。
# in Article model
default_scope :order => "articles.created_at DESC"
これで普通にArticle.allとかfindのときはデフォルトで作成日時が最新のものから並びますが
Article.firstとArticle.lastにも影響があります。
つまり
Article.first # <Article id:999, ...>
Article.last # <Article id:1, ..>
考えてみれば当たり前のことですが、念のため覚えておきましょう。