-1

그래서이 나에게 최신 날짜를 반환하는 다음 코드를는 TIME_AGO 형식으로 변환하는 최신 날짜를 변환

my_dates = due_dates.results.map { |result| result.date_value} 
= my_dates.max 
// returns 2012-07-25T00:00:00+00:00 

내가 날짜 전 형식으로 반환 할을 :

time_ago_in_words(my_dates)) 

max 메소드가 형식을 변경하기 때문에 time_ago가 작동하지 않습니다.

참고 my_dates는

[Wed, 25 Jul 2012 00:00:00 +0000, Wed, 25 Jul 2012 00:00:00 +0000] 

내가 TIME_AGO 형식으로 결과를 달성하려고 이동하는 방법을 잘 모르겠습니다 반환합니다.

+0

'ActionView :: 도우미를 포함 :: DateHelpers'을 . 문안 인사. –

+0

데이터베이스에 날짜를 저장하는 방법은 무엇입니까? ÀctiveSupport'를 사용하고 있습니까? 'Enumerable # max'-Method가 결과를 어떻게 바꿔야하는지 어떻게 될 수 있습니까? –

답변

1
  1. 날짜에 시간 값을 사용하고 있습니다. 왜 DateTime.to_date(docs)을 사용한 다음 날짜를 비교하지 않는 것이 좋을까요?
  2. 다음으로 Enumerable#max 메서드는 <=> 메서드에서 요소를 비교합니다. 유형이나 값은 변경되지 않습니다.

어쩌면이 당신을하는 데 도움이 : 당신은 ActionView에서 도우미가 나와 컨트롤러의 ActionView 도우미를 포함로보기에 time_ago_in_words를 사용할 필요가

max = [Time.now, Time.now-2.hours].max    # => 2013-07-08 19:05:35 +0200 
max = [Time.now, Time.now-2.hours].map(&:to_date).max # => Mon, 08 Jul 2013 
ActionView::DateHelpers.time_ago_in_words(max)  # => "about 10 minutes ago" 
+0

정확히 무엇이 당신을 도왔는지 - 어쩌면 당신은 당신의 질문을 좀 더 일반적으로 만들 수 있습니다. 그래서 누군가가 같은 질문을 가지고있을 때 우리는 대답을 얻을 수있는 기회를 줄 수 있습니다. –