如何显示按模型中的日期隔离的表

问题描述 投票:0回答:1

使用Enumerable,我试图按日期在有组织的事件日历中显示日期。不是标准的7网格日历。

试着得到:

2011年12月1日活动1活动2活动3

2011年12月2日活动4活动5

2011年12月3日活动6

...

目前,Enumerable混淆了地狱。谢谢你的指导 -

编辑2011年12月22日

当前数据:

控制器串 -

@events = Event.where('start >= ?', Date.today).paginate(:per_page => 15, :page => params[:page])

查看电话 -

<% @events.each do |event| %>
  <table stuff here>
<% end %>

方法 - 截至目前尚未在方法上指定任何可枚举的内容---

我的表包括以下字段; :title,:venue,:address(地理编码),:about(text),: start(datetime function)

ruby-on-rails ruby ruby-on-rails-3.1 enumerable
1个回答
1
投票

更新问题更新:所以你在@events中有一堆事件对象,所以你可以使用group_by

@events_by_date = @events.group_by { |e| e.start.to_date }

这将在@events_by_date中为您提供哈希,其中日期为键,Event对象的数组为值。

然后你想要一个Dates数组的数组来匹配你的月份并从该数组驱动表:

<table>
    <% @month.each do |week| %>
        <tr>
            <% week.each do |day| %>
                <td>
                    <% if day %>
                        <%= day.day %>
                        <% @events_by_date[day].to_a.each do |e| %>
                            <%= e.about %>
                        <% end %>
                    <% end %>
                </td>
            <% end %>
        </tr>
    <% end %>
</table>

当然会涉及一些格式,但结构会类似。

© www.soinside.com 2019 - 2024. All rights reserved.