感嘆符について自分自身の備忘録として残しておきます。
論理演算子(!)
条件式の前に「!」を付ける
条件式を否定する
ex)
aがfalseの場合true
!a #-> true
二重感嘆符(!!)
返り値をtrueかfalseにする
ex)
!nil #=> true
!!nil #=> false
!!(false && nil) #=> false
!!(nil && nil) #=> false
例外を発生させる(create!)
- createやsaveに「!」を付ける
メソッド名に!
がついてるものは失敗時に例外を発生させる
メソッド名に!
がついてるものは失敗時にnilを返す
rescue
で拾える
service内ではrescueしてエラーセットしてコントローラでエラーを元にrenderしてる
find_byに「!」を付ける(find_by!)
find_by!
だとnotfoundのexceptionが発生する
find_by
で見つからない場合は返り値nil
比較演算子(hoge != foo)
a != b #aとbが等しくない