上图就是我的意思。我认为代码应该是这样的:
<% @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 %>
但是如何获得current week
?以及如何获得name of a day
?而要浏览这个日历,pre_week
也是next_week
需要的。
我找到prev_week
了next_week
方法,但似乎一周后的某一天返回,这不是我需要的。
一个可能的解决方案是here,但我不知道如何使用它。
更新:我找到了一个可行的解决方案,但仍在寻找更好的代码:
<!-- @date = params[:date] ? Date.parse(params[:date]) : Date.today
first=@date.at_beginning_of_week
last=@date.at_beginning_of_week + 6
@days= (first..last).to_a-->
<% @days.each do |day| %>
<div>
<%= day %>
</div>
<% end %>