2013-07-31 2 views
0

created_at 메서드에서 반환 된 값을 분할하려고합니다.created_at에 의해 반환 된 값을 어떻게 분할합니까?

개체 (item)를 가져 와서 생성 된 시간을 가져 오는 중입니다. 나는 모든 결과를 원하지 않으며 나는 단지 일, 달, 년에만 관심이 있습니다. 어떻게 작동시킬 수 있습니까?

<% @items_in_basket.each do |item| %> 
<% splliter = item.created_at.split(" ") %> 
<% time = @splliter[0] %> 

나는 결과로이 얻을 :

undefined method 'split' for Wed, 31 Jul 2013 16:44:37 UTC +00:00:Time 
+0

아마도 item.created_at.to_s.split –

+0

을 사용하고 있습니다. 그것은 완벽하게 작동했습니다. – user2351234

답변

5

created_at는 단순히 날짜의 그 부분을 얻을에 day, month, 또는 year를 호출 할 수 있습니다 ActiveSupport::TimeWithZone의 인스턴스를 반환합니다. 예 :이 방법은 훨씬 더 신뢰할 수있는 to_s에 의해 반환되는 문자열 형식을 구문 분석보다 것이다

<% @items_in_basket.each do |item| %> 
    Day: <%= item.created_at.day %> 
    Month: <%= item.created_at.month %> 
    Year: <%= item.created_at.year %> 
<% end %> 

.

관련 문제