0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Rails] 真偽判定メソッド

Posted at

目的

Railsでは多くの真偽判定メソッドがあるので、まとめる

前提

  • 変数データが何もない状態のnullは、rubyではnilという.。
  • rubyのif文などでメソッドを使わず、変数単体で真偽判定する場合、
     変数が「false」と「nil」のときだけがfalseで、他はtrue。
     他の言語ではfalseが多い「0」などもtrue。
     混乱するので記述。

真偽判定メソッド

nil?

変数.nil?

Ruby標準メソッド。nilの場合にtrueを返して、それ以外はfalse。

empty?

変数.empty?

Rubyの標準メソッド。空の文字列、空の配列の場合にtrueを返す。
nilだとNoMethodError発生

blank?

変数.blank?

Railsで拡張されたメソッドなので、Railsでしか使えない。
nil?+empty?のメソッド。nilまたは空のオブジェクトの時にtrueを返す。

present?

変数.present?

Railsで拡張されたメソッドなので、Railsでしか使えない。
blank?の逆のメソッドで、nilまたは空のオブジェクトでない時にtrueを返す。

少し番外

exists?

オブジェクト.exists?(条件)

# 例
User.exsists?(name: '田中')

Railsで拡張されたメソッドなので、Railsでしか使えない。
指定した条件のレコードがデータベースに存在するかを真偽地で返すメソッド。

参考にさせていただいた記事

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?