railsのpresenceが便利という話
presence
という便利メソッドがあることを教えてもらったので、メモがてらに書いておきます。
使い方
まず、sourceコードです。
def presence self if present? end
present?であれば、selfを返すというシンプルメソッドですね。
x = user.name.present? ? user.name : 'hoge'
こんなやつをこう書けます。(修正しています)
user.name = "" x = user.name.presence || 'hoge' =>'hoge' x = user.name || 'hoge' =>""
present?を行っているので、中身が空かを確認してくれています。(空文字対策など)
配列も同じです。
tags =[] x = tags.presence || 'hoge' =>'hoge' tags = %w(foo bar) x = tag.presence || 'hoge' => ["foo", "bar"]
間違っていることを書いていたので、わたろ (id:wat-aro)さん、ありがとうございますm( )m
tryもそうですが、こういうのは知っているかどうかで簡潔に書ける場所が増えるとと思うので、しっかり覚えておきたいですね。