ActiveRecordでfindで検索してRowが見つかった時にActiveRecord::ResultNotFound
がでて自分はnil
を期待していたのに(`ェ´)ピャーってなってドキュメントよんだのでメモ。
find
findを使った時は、idを検索条件に入れて使う。またはprimary_keyでも大丈夫そう。Rowが見つからなかった時は、ResultNotFound
のエラーが返る
find_by(*)
こちらは検索条件に縛りはないです。Rowが見つからない時はnil
が返る
find_by!(*)
これはfind_byと似てますね。検索条件等の制限はfind_byと同じだけどこちらをつかうと、Rowがなかった時にnil
じゃなくてResultNotFound
を起こせる。
とりあえず忘れないようにメモ。 色々使い方あるんだなーと。