WHEREでレコードを取得できなかった場合に例外を発生させる
後置ifとかの条件を使う方法を多く見るが、個人的にはfind
を使うほうが便利じゃないかなーと思ってる。
where
User.where(id: [4,2,6]) User Load (3.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` IN (4, 2, 6) => []
find
User.fid([4,2,6]) User Load (1.4ms) SELECT `users`.* FROM `users` WHERE `users`.`id` IN (4, 2, 6) ActiveRecord::RecordNotFound: Couldn't find all Users with 'id': (4, 2, 6) (found 0 results, but was looking for 3)