2012-12-08 7 views
1

나는 사람의 나이를 말로 표현해야합니다. 사람이 1 개월 미만입니다Ruby on Rails에서 사람의 나이 구어 내기

  • 경우 :
  • X 일 오래된 사람이 1 년 미만 인 경우 : X의 개월
  • 예를 들어

    : 그위한 레일 도우미가 있습니까

  • 1과 5 사이에있는 경우 : X 년, Y 개월 이전

아이디어가 있습니까?

답변

2

ActionView :: Helpers :: DateHelper 모듈에서 도우미를 사용자 정의 할 수 있습니다. 그것보다, 당신이 또는 중요하지 않을 수있다 ... 계정 도약의 일을 고려하지 않고, 아주 쉽게 자신의 도우미를 만들 수있는 것보다

https://github.com/rails/rails/blob/4b1985578a2b27b170358e82e72e00d23fdaf087/actionpack/lib/action_view/helpers/date_helper.rb#L67

기타.

def humanize_age(person) 
    age = Date.today - person.birth_date 
    years = (age/1.year).to_i 
    age = age % 1.year 
    months = (age/1.month).to_i 
    age = age % 1.month 
    days = (age/1.day).to_i 

    if years < 1 
    if months < 1 
     "#{days} days old" 
    else 
     "#{months} months old" 
    end 
    else 
    "#{years} years, #{months} months old" 
    end 
end 

약간 정리할 수는 있지만 테스트하지는 않았지만 제대로 작동합니다.

관련 문제