我称模型event_recurrences它包含2分重要的列event_id
和cached_schedule
的Ruby/Rails - 高级分组与GROUP_BY
cached_schedule
包含日期
event_id
的阵列用于引用事件
我需要
获取所有event_recurrence对象TS
@something.event_recurrences
- 通过每次复发对象完成去拿
event_id
和所有的 从cached_schedule
迭代通过每个月的日期,并吐出像下面
列表Jan
event_id date
事项标识日期
事项标识日期
二月
事项标识日期
...等等
要回顾一下event_id
位于event_recurrence.event_id
日期的event_id
将发生在有位于阵列内event_recurrence.cached_schedule
一些我有一些不完整的代码可以使用...
此代码成功地使用created_at
字段按月显示每个event_recurrence
对象。
@schedule_months = @something.event_recurrences.order("created_at DESC").group_by { |e| e.created_at.beginning_of_month }
在我看来
<% @schedule_months.keys.sort.each do |month| %>
<div class="month">
<%= month.strftime("%B %Y") %>
</div>
<% for event in @schedule_months[month] %>
<li><%= event %></li>
<% end %>
<% end %>
在此先感谢。
真诚,jBeas
例如,“cached_schedule”中的日期可以跨越多个月,还是都保证在同一个月内? - 他们跨越多个月。再次感谢!现在就试试这个! – jBeas 2012-01-11 16:36:09
我设计了代码,所以它应该可以工作,即使日期跨越多个月(但不是在不同年份的同一月份)。我还没有测试过,所以你可能需要做一些调试,但就像我说的,它应该给你想法 – 2012-01-11 16:39:48
有几件事要改变,但我从你的例子中得到它的工作。 :)我会在完成时更新示例。非常感谢你帮助我。 – jBeas 2012-01-11 16:59:09