最近レビューでよく書くのでまとめておきます。
指摘
idでソートするとか、idがインクリメンタルな数字ということを前提とするコードは避けよう。古い順に並べたいんだったらcreated_at
とかが作成日なんだから「古い順」ということをより表現していることになる。
理由
idをuuidとかに変えた場合バグになる。
古いものを取ろうとしてidでソートしてfirst
とかやっちゃいかん。
管理画面のユーザー一覧をid降順でソートしてて、最近追加されたユーザーは一番最初にきてたのuuidにしたら並びが変わった・困るとお客さんに言われることになる。
rails+postgresでidにuuidを使う - komagataのブログ
Microsoft系のライブラリやフレームワークもuuidがidのこと多い。
railsもfixturesではidはランダムに入るのでidがインクリメンタルな数字という前提のテストはコケる。(偶然動いたりするがそのうちコケる)
補足
もちろんだけど、こういうコードは全く問題ないヨ!
@post = Post.find(params[:id])
むしろidはidentifierなんだから本来の使い方。気をつけるのはソート。