Railsで view
model
controller
でも変数の中身が空か確認したいときに以下のメソッドを使います。
nilメソッド
nil?
オブジェクトがnilの場合のみ true
を返し、それ以外は false
を返します。空文字や配列の器、ハッシュの器だけでも全てfalseを返します。
emptyメソッド
empty?
String(文字列)
、 Array(配列)
、 Hash(連想配列)
定義されているメソッドです。空の文字列や空の配列の場合にtrueを返します。nilや真偽値オブジェクトに対して呼び出すと NoMethodError
が発生するので、気をつけましょう。
blankメソッド
blank?
blankメソッドを使用したオブジェクトが空白の場合は true
を返し、空白ではない場合は false
を返すメソッドです。〜が存在しないとき
の条件分岐でよく使います。
presentメソッド
present?
blankメソッドの逆(!blank?
)で、オブジェクトが空白ではない場合に true
を返し、空白の場合は false
を返します。 〜が存在するとき
の条件分岐でよく使います。
if hoge.present?
と unless hoge.blank?
は同じ意味になりますが、前者を使った方がわかりやすいです。