2011-02-07 2 views
7

여기에서 살펴 보시기 바랍니다 : 시간이 다음과 같은 논리로 표시됩니다 http://twitter.com/#!/techcrunch레일 - 트위터처럼 만든 시간을 표시하는 방법

주의 사항 :

  • created_at하면, 24에서,이 XXX를 표시됩니다 시간 전, 또는 1 시간 전
  • created_at 경우, 이상 24, 그것은

합니까 레일이가있는 X 이월 표시입니다 기능이 내장되었거나 도우미가 필요합니까? 그렇다면이 유형의 출력을 해결하는 현명한 방법은 무엇입니까?

감사

답변

6

당신은 아마 time_ago_in_words 도우미 방법을 찾고 있습니다.

+0

"about"을 포함하지 않으려면 어떻게해야합니까? – AnApprentice

+0

이것은 절반의 기능을 제공하기 때문에 24 시간을 초과하는 경우에도 처리해야합니다. 간단한 'if'로 충분할 수 있습니다. – Chubas

+0

'time_ago_in_words'는'distance_of_time_in_words'를 사용합니다. 나중의 소스는'actionpack/lib/action_view/helpers/date_helper.rb' 줄 66 –

5

나는이 조금 늦게 알고 있지만 내가 내 메시지를 표시하기 위해 내보기에 무엇을 사용 :

<% if message.created_at > Time.now.beginning_of_day %> 
    <%="#{time_ago_in_words(message.created_at)} ago"%> # 3 minutes ago, less than a minute ago 
<% else %> 
    <%= message.created_at.strftime("%b %d, %Y") %> # Jun 29, 2012 
<% end %> 

는 헬퍼 메소드로 추출 할 수 있습니다. 도움이되기를 바랍니다.

관련 문제