はじめに
今回はpresent?メソッドとnil?メソッドについてまとめます。どちらも条件分岐の時に便利なメソッドです。条件分岐どうしようと悩んだ時に、このメソッドで解決できたのでまとめます。
この記事は学習備忘録です。
present?メソッドとnil?メソッドの違い
present?メソッドとnil?メソッドは、オブジェクトに対してtrueとfalseを返すメソッドです。
使用例としては
present?メソッド→@testsに値が入っている時trueが返される
@tests.present?
# 実行結果
=> true
nil?メソッド→@testsに値が入っていない時trueが返される
@tests.nil?
# 実行結果
=> true
このメソッドを利用して条件分岐を作る事ができます
present?メソッドとnil?メソッドで条件分岐を作る
present?メソッドとnil?メソッドを使って、
以下のようにインスタンス変数に中身がある場合は商品を表示させて、中身がない場合は代わりの画像を表示させる実装があります。
<% if @tests.present?%>
<% @tests.each do |test| %>
<%= test.title %>
<% end %>
<% else %>
値なし
<% end %>
上記はpresent?メソッドを使っているので、
実行すると@testsの中身がある場合は値が表示され、中身がない場合は「値なし」と表示されます。
(代わりに、nil?メソッドを使う方法でも条件分岐を作れます。)
まとめ
今回はpresent?メソッドとnil?メソッドについてまとめました。どちらも簡単に条件分岐を行う事ができる便利なメソッドなので、使い方をマスターしたいと思います。
この記事が少しでも誰かのお役に立てれば幸いです。