Ruby on Rails: Wie bekomme ich die aktuelle Woche und lese sie durch, um ihre Tage anzuzeigen?
Das obige Bild ist was ich meine. Ich denke, der Code so etwas wie sein sollte:
<% @days_from_this_week.each do |day| %>
<%= day.name %>
<!--e.g. Monday-->
<% day.sessions do |session| %>
<% @session_categories.each do |category| %>
<!--categories means the Sesion1/2/3/4 category
A day's sessionX could be empty, so we have to determine wheather a session matches its cateogry,
and then display it in the table
-->
<% if session.category == category %>
<%= session.content %>
<% end %>
<% end %>
<% end %>
<% end %>
Aber wie die current week
zu bekommen? Und wie bekommt man die name of a day
? Und um durch diesen Kalender zu navigieren, wird auch pre_week
und next_week
benötigt.
Ich fand prev_week
und next_week
Methode, aber es scheint wie Rückkehr einen bestimmten Tag nach einer Woche, die ich nicht brauche.
Eine mögliche Lösung ist here, aber ich weiß nicht, wie man es benutzt.
UPDATE: fand ich eine praktikable Lösung, aber immer noch für eine besseren Code suchen:
<!-- @date = params[:date] ? Date.parse(params[:date]) : Date.today
[email protected]_beginning_of_week
[email protected]_beginning_of_week + 6
@days= (first..last).to_a-->
<% @days.each do |day| %>
<div>
<%= day %>
</div>
<% end %>
Benötigen Sie mehr Informationen als nur dies? Was sind @days_from_this_week und @session_categories? Wie hängen sie zusammen? – vee
'@ days_from_this_week' bedeutet die Tage in der aktuellen Woche, und ich frage 'Wie bekomme ich die aktuelle Woche?'. '@ session_categories' bedeutet, dass eine Sitzung zu verschiedenen Kategorien gehören kann (siehe das Tabellenbild, es gibt session1/2/3/4), also muss ich sie durchlaufen, um festzustellen, ob eine Sitzung der Kategorie entspricht und sie dann anzeigen. – cqcn1991
'Sitzung' gehört zu 'Kategorie', eine' Sitzung' hat ein 'Datum' und eine' Kategorie' attritube. – cqcn1991