Railsで変数の中身が空か確認する空チェックメソッド4種

Railsでは、View(ビュー)でもモデルでもコントローラでも『変数の中身が空か知りたい』ときはこれらのメソッドを使いわけて、チェックをします。

active_support を読み込んだrubyでは、真偽判定に4つのメソッドが使えます。

①nilメソッド

nil?・・・Rubyの標準メソッドであり、空チェックのキホン。nilの場合のみtrueを返し、それ以外はfalseを返します。nilとfalseを判別したい場合などに、==演算子を使わなくても書けます。

②emptyメソッド

empty?・・・String(文字列) や Array(配列)に実装されているメソッド。空の文字列や空の配列の場合にtrueを返します。nilに対して呼び出すと NoMethodError が発生するので、注意が必要です。

③blankメソッド

blank?・・・nil? or empty? のようなメソッド。blank は、nil と empty の合わせ技です。nilまたは空のオブジェクトを判定できるので、使い勝手はかなり良いです。よく使います。

④presentメソッド

present?・・・!blank? を実行するメソッド。blankメソッドの逆で、「〜が存在するとき」の条件分岐でよく使います。unless hoge.blank? とするくらいなら、if hoge.present? と書くとベター。

if memo.present?
 〜 memoの中身があるときだけif内の処理が実行されます。 〜
end

空チェックをするときは、nil, empty, blank, present を使いわけてすっきりしたコードを書きましょう。

コメントを入力:
R Q D K Y