setoya-blog

システム開発技術、データ分析関連でお勉強したことや、山奥生活を綴る、テンション低めなブログです。

ActiveSupportのtryが便利

Railsのビューなどで、nilチェックが面倒なときは、ActiveSupportのtryを使うのが便利。tryで渡したメソッドがあればそれを呼び出し、なければnilが返る。Object#tryなので、NIlClassでも呼べるのがミソ。

<%if user.parent && user.parent.first_name %>
  <%= user.parent.first_name %>
<% end %>

のようなコードを

<%= user.try(:parent).try(:first_name) %>

とかける。
引数が必要なメソッドHoge#sample(arg1)のようなときは、

hogehoge.try(:sample, arg1)

のように呼べば良い