データベースにidが1のユーザーがいない場合、User.find(1)
を試みると例外が発生します。
どうしてこれなの?
それは、RDocに示されているように、アーキテクトがfind(id)の動作を意図した方法だからです。
IDで検索-これは、特定のID(1)、IDのリスト(1、5、6)、またはIDの配列([5、6、10])のいずれかです。リストされたすべてのIDのレコードが見つからない場合、RecordNotFoundが発生します。
例外を発生させたくない場合は、find_by_idを使用します。指定したIDのオブジェクトが見つからない場合はnilを返します。その場合の例はUser.find_by_id(1)
です。