「~분 전, ~시간 전」의 표시 방법

전제



컨트롤러의 액션에 의해, view가 표시되도록 되어 있는 것.
보기가 표시될 적절한 인스턴스 변수가 컨트롤러에 정의되어 있어야 합니다.

(예 post)

할 수 있는 일



~분 전, ~ 시간 전의 시각의 경과 나타낼 수 있다.



버전



루비 버전 ruby-2.6.5
Rails 버전 Rails:6.0.0

구현의 전체 이미지



①일본어화의 지시를 내린다
②datetime, distance_in_words 설정
③view에 time_ago_in_words(@post.created_at)를 기술

구현 절차



①일본어화의 지시를 내린다

config/application.rb
config.i18n.default_locale = :ja

②datetime, distance_in_words 설정

config/locales/ko.yml
ja:
  datetime:
    distance_in_words:
      half_a_minute: "30秒前後"
      less_than_x_seconds:
        one:   "1秒"
        other: "%{count}秒"
      x_seconds:
        one:   "1秒"
        other: "%{count}秒"
      less_than_x_minutes:
        one:   "1分"
        other: "%{count}分"
      x_minutes:
        one:   "約1分"
        other: "%{count}分"
      about_x_hours:
        one:   "約1時間"
        other: "約%{count}時間"
      x_days:
        one:   "1日"
        other: "%{count}日"
      about_x_months:
        one:   "約1ヶ月"
        other: "約%{count}ヶ月"
      x_months:
        one:   "1ヶ月"
        other: "%{count}ヶ月"
      almost_x_years:
        one:   "1年弱"
        other: "%{count}年弱"
      about_x_years:
        one:   "約1年"
        other: "約%{count}年"
      over_x_years:
        one:   "1年以上"
        other: "%{count}年以上"

③view에 time_ago_in_words(@post.created_at)를 기술
다음 중 하나를 설명합니다.
<%= time_ago_in_words(@post.created_at) %>前

or
<%= "#{time_ago_in_words(@post.created_at)}前" %>

이상입니다.

좋은 웹페이지 즐겨찾기