L'immagine sopra è ciò che intendo. Credo che il codice dovrebbe essere qualcosa di simile:
<% @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 %>
Ma come ottenere il current week
? E come ottenere il name of a day
? E per navigare attraverso questo calendario, sono necessari anche pre_week
e next_week
.
Ho trovato il metodo prev_week
e next_week
, ma mi sembra di tornare un certo giorno dopo una settimana, che non è necessario.
Una possibile soluzione è here, ma non so come usarlo.
UPDATE: ho trovato una soluzione praticabile, ma ancora alla ricerca di codice migliore:
<!-- @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 %>
Hai bisogno di più informazioni di questo. Cosa sono @days_from_this_week e @session_categories? Come sono collegati? – vee
'@ days_from_this_week' indica i giorni della settimana corrente, che è quello che sto chiedendo' Come ottenere la settimana corrente'. '@ session_categories' significa che una sessione potrebbe appartenere a diverse categorie (vedi l'immagine della tabella, ci sono session1/2/3/4), quindi devo passarle in rassegna per determinare se una sessione corrisponde alla categoria e quindi visualizzarla. – cqcn1991
'session' appartiene a' category', un 'session' ha un' date' e un 'category' attritube. – cqcn1991