2011-01-07 9 views
0

Heyすべて、 Rails 3とChronic gem(日付解析用)を使用しており、過去6ヶ月間の日曜日の選択リストを作成する必要があります。ここで私はこれまで持っているものです。Rails 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

あなたは....

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

、明らかに

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

...とコードゴルフをプレイすることができます。そして、あなたのマジックナンバーを取り除くには、ヘルパーメソッドにそれを移動しますERBに座っていません。 :)

+0

ありがとうございました。 NUM_SUNDAYSを小文字にする必要がありましたが、うまくいきました。 –

+0

あなたが答えが気に入ったら、(矢印を押して)答えを投票することを検討し、これがあなたの質問に対する最良の答えだと思うなら、チェックボックスをクリックして答えを受け入れることを検討してください。これにより、あなたの質問が答えられたことを他の人が知ることができ、もう心配する必要はありません。 :) – Drew

関連する問題