平凡エンジニアによる平凡ブログ

平凡インフラエンジニアがスキルアップを目指してプログラミングやクラウドやサーバといったインフラのアウトプットをしていきます!

【rails】time_ago_in_wordsについて

今回もメモ程度ですが、railsのDateHelperで定められている
「time_ago_in_words」について記載します。

time_ago_in_wordsとは

〜分前という表示を実現したい時に使用する railsのDateHelperで定められているヘルパーです。

ActionView::Helpers::DateHelper

ヘルパーとはrailsで用意されているview上で処理を走らせたい時に使用する
モジュールのことです。
より短いコードで処理を実現することができます。

記載方法

ヘルパーなので、当然記載するのはview上に記載します。 例えば以下のような書き方をします。 

time_ago_in_words(post.created_at)+ "前",

ここではpostというモデルのcreated_atカラムの時間(要は投稿された時間)を 引数で渡し、"前"という文字をプラスしてます。 

引数に例えば(Time.now)を渡せば、現在時刻を示す。 (Time.now - 15.hours)を渡せば現在時刻の1.5時間前を表示するなど 色々な場面で使用できます。

終わりに

railsでは様々なヘルパーが用意されているので全て覚えるのは不可能だが 一つでも知っておき、いざという時に思い出して使えたらいいですね。