2011-01-07 3 views
0

안녕하세요, 레일스 3 및 만성 보석 (날짜 분석 용)을 사용하고 있으며 지난 6 개월 동안 일요일의 선택 목록을 만들어야합니다. 여기 내가 지금까지 가지고있는 것입니다 :레일 3에 일요일 선택 목록 생성

<% 
    # weeks in 6 months = 26 
    week = 1 
    sunday = Date.parse(Chronic.parse('this sunday').to_s) 
    sunday_array = [] 
    while week <= 26 
    sunday_array << sunday - (week * 7) 
    week += 1 
    end 
%> 
<%= select_tag 'sunday', options_for_select(sunday_array) %> 

아무도 이것을하는 더 나은/청소기 방법을 아나요? 감사.

답변

1

당신은 당신이 도우미 메서드로 이동 것, 분명히 .... 다음

sunday = Date.parse(Chronic.parse('this sunday').to_s) 
sunday_array = [] 
26.times { |i| sunday_array << sunday - (i * 7) } 

그리고

이 매직 넘버를 제거 ...와

NUM_SUNDAYS = 26 
sunday = Date.parse(Chronic.parse('this sunday').to_s) 
sunday_array = [] 
NUM_SUNDAYS.times { |i| sunday_array << sunday - (i * 7) } 

을 코드 골프를 그리고 있습니다 ERB에 앉아 있지 않습니다. :)

+0

감사합니다. NUM_SUNDAYS를 소문자로 만들어야했지만 효과가있었습니다. –

+0

당신이 대답을 좋아한다면, (화살표를 눌러서) 대답을 표출하는 것을 고려해보십시오. 이것이 당신의 질문에 대한 최선의 대답이라고 생각한다면, 그 확인란을 클릭하여 답을 수락하는 것을 고려하십시오. 이렇게하면 다른 사람들이 귀하의 질문에 답변을하고 더 이상 걱정할 필요가 없다는 것을 알 수 있습니다. :) – Drew

관련 문제