Webサービスを作って潰すのが趣味な人のブログ

とりあえず作ってから怒られよう

【Rails3.x】Twitterのように「○分前」とか「○時間前」形式で日付を表示する方法

f:id:vu2:20150622151211p:plain

ちょっと使いたかったので調べてみました

結論から言うと「Railsには元々そういうHelperがある」ため新しくGemを導入する必要はありません

 

TimeAgoInWordsHelperMethod

なんかすごい名前ですね……

使うときは「time_ago_in_words」で呼び出せます

gistbdc7917fb077d8e9a6fb


日本語にする

こいつすごく便利なヘルパーなんですけど、デフォルトでは英語表記なんですよね……。日本人向けのサイトを作ってるならローカライズしてやる必要があります。

「config/locale/ja.yml」を開いて(ない人は作って)そこに書き込みましょう

gist9f11b8eec2c5a19bba30

※application.rbで言語設定してないと色々アレになるので言語設定はお忘れなく

 

「たった今」や「○分前」だけ赤くしたい

f:id:vu2:20150622151842p:plain

出来ればこれもやりたいですよね。残念ながらベストな方法が思い浮かばなかったので力技です。もっとクールなやり方を知ってる人が居たら教えてください!

gistfff194827f6f40304a29

 

まとめ

自前で実装したい人は

qiita.com

 

localeファイル作るの面倒な人は

github.com