背景 Rails において、 nil? , empty?, blank?, present? はよく使われる便利なメソッド群です。 しかし、これらの便利メソッドには、分かりづらい落とし穴が潜んでいます。例えば、String#blank? に対する以下のコードは、一見 true を返しそうですが、実は間違いなのです。 この記事においては、便利メソッドの使いわけを、ついつい引っかかりがちな落とし穴と一緒に解説し、より良いRailsのコードを書くためのBetter Practiceを紹介したいと思います。 TL; DR String において、 nilと空白文字を同様に評価したいときのみ、blank? や present? を使うのが Better Practice より細かくは Rubyで定義されているのが、 nil?, empty?, Railsの ActiveSupport で定義されてい