LoginSignup
0
0

More than 3 years have passed since last update.

[Rails]変換・検証・検索するためのメソッドまとめ

Posted at

変換系のメソッド

to_h

ハッシュに変換するメソッド。

to_a

配列に変換するメソッド。

to_s

文字列に変換するメソッド。

to_i

数値に変換するメソッド。

to_sym

シンボルを返すメソッド。

encode

文字列の文字コードを変換する。

文字列.encode('UTF-8')

gsub

特定の文字を別の文字へ置換したり、正規表現を用いて該当箇所を置換したり削除したりできる。

文字列.gsub(置換したい文字列, 置換後の文字列)

文字列.gsub(/正規表現/, 正規表現に該当した箇所を置換した後の文字列)

compact

nilの要素を取り除いた配列を新しく生成して返します。


a = [1, nil, 'abc', false]
b = a.compact
b #=> [1, 'abc', false]

join

配列要素を指定したもので区切ることができるメソッド。


p ["apple", "orange", "lemon"].join(',') #=> "apple,orange,lemon"

each_slice

ある要素数ごとに分割したい場合に使う。


[1..10].each_slice(2) do |num|
  puts num
end
#=> [1,2,3,4,5],[6,7,8,9,10]

検証系のメソッド

request.post(patch,get,delete)?

リクエストの種類がpost(patch,get,delete)かどうかを検証している。

valid?

バリデーションを実行した結果、エラーが無ければtrue、あればfalseを返す。

invalid?

バリデーションを実行した結果、エラーが無ければfalse、あればtrueを返す。

present?

値があればtrue、なければfalseを返す。

nil?

nilの場合のみtrue、それ以外はfalseを返す。

empty?

空の文字列や配列の場合にtrue、それ以外はfalseを返す。(nilに使うとエラーになる。)

blank?

nilか空の場合はtrue、それ以外はfalseを返す。

zero?

中身が0(無いか)を調べるメソッド。文字列やtrue&false以外に使える。

any?

中身が存在する際にtrueを返すメソッド。一件だけ検索するので高速処理。2つ目と3つ目は同義。


Sample.where(name: "侍1").any?
#=> true

Sample.any? do | sample |
  sample.name == "侍1"
end
#=> true

Sample.any? { | sample | sample.name == "侍1" }
#=> true

yes?

ユーザーがyesといった場合にtrueを返す。


freeze! if yes?("Should I freeze the latest Rails?")

list << '土曜日' if holiday_saturday&.yes?

検索系のメソッド

pluck

テーブルから指定したカラムの配列をデータ型で返す。


Product.pluck(:id)

map

各要素へ順に処理を実行してくれるメソッド。


配列変数.map {|変数名| 具体的な処理 }

array = ["a", "b", "c"]
array = array.map {|item|  item.upcase } #=>["A", "B", "C"]

detect

各要素をブロックで評価し「真(true)」となる要素の最初の1件を返す。findメソッド的なやつ。


array = [1, 2, 3, 1, 2, 3]
detect = array.detect {|v| v==1 } #=>1
0
0
0

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