Railsで変数の中身が空か確認する空チェックメソッド4種
Railsでは、View(ビュー)でもモデルでもコントローラでも『変数の中身が空か知りたい』ときはこれらのメソッドを使いわけて、チェックをします。
変数の中身が空かチェックする4つの方法
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 を使いわけてすっきりしたコードを書きましょう。
コメント