Ruby on Railsでpresent?が使いやすすぎる
present?メソッドは、blank?の反対です。
つまり、これからは
return false if !@posts.blank?
とか
return false unless @posts.blank?
とか、ちょっと直感的でないことをしなくても良いと。
つまり、こんな感じになると。
@posts = Post.all if @posts.present? puts 'Postあり' else puts 'Postなし' end
すげー分かりやすいー(*´ω`*)
しかも、present?メソッドに関連したpresence?メソッドも使いやすーい。
def presence self if present? end
こういう実装になっているらしく、present?メソッドがtrueなら
呼び出したObject自身のselfを、falseならnilを返すそうです。
ということは・・・
title = params[:title].present? ? params[:title] : "no title" # が、以下のように簡略化出来る title = params[:title].presence || "no title"
こんなことができちゃうらしい。
なんて便利なものが用意されているんだー
\( 'ω')/ウオオオオオアアアーーーッ!
参考
Railsエンジニアならこれだけは知っておけっていう便利メソッド - (゚∀゚)o彡 sasata299's blog
Railsでnil? blank? empty? present?を使いこなそう | TechRacho