2016-11-07 6 views
0

Der Titel ist möglicherweise nicht präzise, ​​aber wie erhöhen Sie ein Datum in einer Schleife für ein Dropdown-Menü?Tage im Dropdown-Menü um 7 erhöhen

Controller (einfach):

f = Foo.find(1) 
f.start_date = Date.today 
f.end_date = 30.days.from_now 
f.save 

@arr = *(f.start_date..f.end_date) 

Ausblick:

<select class="ui dropdown"> 
    <option value="">Select work week</option> 
    <% @arr.each do |a| %> 
    <option value="<%= a %>"><%= a %> to <%= (a + 7.days) %></option> 
    <% end %> 
</select> 

von Drop-Down-Erwartet:

(today) to (7th day) 
(8th day) to (15th day) 
... 
... 
(last day) 

Wie um dies zu realisieren?

Antwort

0

Wenn Sie den Datumsbereich erstellen, wählen Sie nur die Tage mit demselben Wochentagswert wie den ersten Tag aus. Das gibt Ihnen das erste Datum, das achte Datum, das 15. Datum ...

@arr = (f.start_date..f.end_date).to_a.select{|day| day.wday == f.start_date.wkday} 
Verwandte Themen