Railsでnil? empty? blank? present? を使う
nil?
Rubyの標準メソッド
nilの場合だけtrueを返し、それ以外はfalseを返す。
nilはオブジェクトが存在していないということ
name = "" name.nil? # nameは空だが存在するためfalse age.nil? # ageは存在しないためtrue
empty?
RubyでArrayやStringに実装されているメソッド
文字列や配列が空の場合trueを返す。
nilに対して呼び出すとNoMethodErrorが発生する。
emptyはオブジェクトが空だということ
name = "" name.empty? # nameは空なのでtrue age = 22 age.empty? # ageが空ではないのでfalse
blank?
Railsで使えるメソッド
nil? or empty? の振る舞いをする。
オブジェクトがnilか空の時trueを返す。
name = "" name.blank? # nameが空なのでtrue age.blank? # ageがnilなのでtrue
present?
!blank?を実行するメソッド
unless name.blank? end # 上のコードは以下ように書ける if name.present? end