【Rails】三項演算子をよりスマートに!presenceメソッドがいい仕事してくれます

ruby-on-rails

こんにちは。たなか(@tanaka_ricecake)です。

Ruby on RailsでWebアプリケーションサービスの開発をしています。

開発中、コードレビューいただいた中で、presenceメソッドを使ったスマートな書き方を学んだので備忘録的にメモします。

上手に使えればコードを短く綺麗に書くことができます。

三項演算子をよりスマートに!presenceメソッドを使おう!

 

presenceメソッドとは?

オブジェクトが存在すればそのオブジェクトを返し、存在しなければnilを返すメソッドです。

@user.name.presence

上記のように書いた場合、『ユーザーが名前を持っていれば@user.nameを、なければnil』を返します。

 

今回のpresenceメソッド使用例

 

@news_article.transition_url ? @news_article.transition_url  : 'なし'

 

上記のように『お知らせに遷移先URLがあればそれを表示、なければ「なし」を表示する』といった処理の際に、presenceメソッドを利用すれば以下のように書けます。

 

@news_article.transition_url.presence  || 'なし'

 

繰り返しになっていた@news_article.transition_urlが一回で済み、見た目にもスッキリしましたね!

まとめ

ruby-on-rails

今回はrailsのpresenceメソッドについてご紹介しました。

Twitterでもツイートしましたが、便利なメソッドを知って上手に書けると嬉しいですよね。

Railsって良い感じのメソッドで短くスマートに書けるとめっちゃ気持ちいいし楽しいですね

今日はpresenceメソッドで三項演算子をスマートに書く方法を学びました
あとでブログにします

 

ソース内の、繰りかえしの多い記述なんかに注目しつつ、「もっと上手に書けないかな」という意識を持つことが大切だと感じました。

もっと上手にRails書けるようになりたいです。

便利なメソッドやリファクタリングのコツについて、これからもっと勉強していきます。

短いですが、今回はここまで。

コメントを残す

メールアドレスが公開されることはありません。