自由帳

既に知っていることも含めて再アウトプット用に書きます✍️

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)