MENU
当HP製作テーマ
おすすめサーバー

【true or false】真偽判定メソッド【Rails】

変数に対してtrueもしくはfalseを返すメソッド。全てではないかもしれませんが、わかる範囲で書き出してみました。

今後、追記・修正していくかもしれません。

目次

条件分岐式でよく使う真偽判定をするメソッド

present?

変数.present?

変数に値があればtrue、なければfalse、を返すメソッド。

配列やハッシュの器だけで、中身がないときもfalse。

また、変数そのものが存在しないときもfalse。

nil?

変数.nil?

変数そのものが存在しないとき、つまりnilであればtrue、nilでなければfalse、を返すメソッド。

変数の値が何かは考慮されない。空文字( “” )や、空白文字列( “ ” )、ハッシュの器だけでもfalseを返す。

empty?

変数.empty?

変数の値が空であればtrue、値があればfalse、を返すメソッド。

空文字は、trueで返ってくる。配列やハッシュも器だけで値が何もなければtrue。

空白文字列はfalse。

String、Array、Hash等に定義されているメソッド。

blank?

変数.blank?

変数に値がない、もしくは変数そのものが存在しない場合にtrue、値があればfalse、を返すメソッド。

present?真逆の動きをするメソッドpresent? = !blankとなる。

また、上記 nilempty?の両方の機能をもったメソッドになる。

exists?

モデル名.exists?(条件)

例1)Item.exists?(price: 500)
例2)User.exists?(name: '佐藤', age: 20)
例3)User.exists?(name: ['佐藤','田中'])
例4)Item.exists?(5)

指定した条件の値が、データベースに存在すればtrue、存在しなければfalse、を返すメソッド。

値の絞り込みもできる。

例1は、itemテーブルのpriceカラムに[ 500 ]という値があればtrue。

例2 は、nameカラムに[ 佐藤 ]かつ、ageカラムに[ 20 ]という値があればtrue。どちらかが満たない場合false。

例3は、nameカラムに、佐藤もしくは田中という値があればtrue。どちらかが該当すればtrueとなる。

例4は、指定した整数の主キー(idなど)をもつ値があればtrue。

真偽判定ではないが、類似した動きをするメソッド

presence?

変数.presence?

上記、present?メソッドと表記は似ているが、異なる返し方をするメソッド。

変数に値が存在すれば「値そのものを返す」、存在しなければnilを返すメソッド。

  • URLをコピーしました!
目次