2014年12月5日金曜日

railsでtwitter風の時間表示を返す

  • ruby 2.1.2
  • rails 4.1.6
  • grape

アプリでユーザーの投稿時間を返す文字列をtwitter風にする実装のメモです。
「1時間前」とか、そういう表示のパターンですね。
結論から言うと、railsで用意されているAction View Date Helpersを使えば良いです。でも、今回はmodelでView Date Helpersを呼ぶ必要があったので、少し工夫が必要でした。
結局、以下のように呼び出しました。

 

    # coding: utf-8
    class TestModel < ActiveRecord::Base 
      include ActionView::Helpers::NumberHelper

      // something

      ApplicationController.helpers.time_ago_in_words(test.created_at)
    end

    

デフォルトだと英語なので、他の言語にしたい場合は引数にlocalを設定してあげればOK。

 

    # coding: utf-8
    class TestModel < ActiveRecord::Base 
      include ActionView::Helpers::NumberHelper

      // something

      ApplicationController.helpers.time_ago_in_words(test.created_at,{ :locale => 'ja' })
    end

    

便利ですねえ。やっぱvoltよりrailsのほうが良いですね。

参考

この記事がお役にたちましたらシェアをお願いします

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿

Related Posts Plugin for WordPress, Blogger...