Ruby on Railsで値の存在またはオブジェクトの状態を確認するために使用できるメソッドがいくつかあります。 Rubyには.nilと.empty ? があります。Rails ActiveSupportには.blankと.present?があります。
#nil?
.nil? ObjectクラスのRubyメソッドです。 すべてのクラスを受け継ぐかのオブジェクトのクラス#nil? 任意のオブジェクトで使用できます。 Nilの場合はtrue、それ以外の場合はfalseを返します。 これは、空の文字列がnilではなく、空の配列がnilではないことを意味します。
nil.nil?
=> true
"".nil?
=> false
[].nil?
=>false
#empty?
.emptyは、オブジェクトの長さ== 0を意味します。このメソッドは、文字列、配列、ハッシュで使用できます。
"".empty?
=> true
ただし、空白の場合、改行またはタブ.emptyはfalseを返します。 空白、改行またはタブも文字としてカウントされます。
" ".empty?
=> false
"\t\n".empty?
=> false
Array ,hashes, set の場合、要素がない場合はtrueを返します。
[].empty?
=> true
{}.empty?
=> true
#blank?
.blank? ActiveSupportのRails method です。
これは、nil、false、empty、empty stringに対してtrueを返します。
nil.blank?
=> true
false.blank?
=> true
"".blank?
=> true
" ".blank?
=> true
[].blank?
=> true
{}.blank?
=> true
#present?
.present?も Rails method です。 .blank?の反対です.
[].present?
=> false
" ".present?
=> false
false.present?
=> false
[1, 2, 3, 4, 5].present?
=> true
これがお役に立てば幸いです :)