railsでテーブルにレコードが一つでもあるかを調べるときは exists? が使える
モデルにレコードが一つでもあるかどうかで処理を分岐したいときがある。exists? を使うと便利。
たとえばWorkモデルの場合、このようにシンプルに書ける。
Work.exists?
Model.where(name: 'Yamada').exisits? のような使い方は経験がある。けれど、そもそもテーブルにレコードがあるかどうかを調べることもできたことを知った。便利。present? を使うこともできるが処理速度が、exists?よりは悪いらしい。
参考
exists? (ActiveRecord::FinderMethods) - APIdock
ActiveRecordでは present? の代わりに exists? を使おう - Qiita
(了)