Как отобразить таблицу, разделенную по датам в модели - PullRequest
0 голосов
/ 22 декабря 2011

Используя Enumerable, я пытаюсь отобразить даты в организованном календаре событий по датам.Не является стандартным 7-сеточным календарем.

Попытка получить:

1 декабря 2011 г. Событие 1 Событие 2 Событие 3

2 декабря 2011 г. Событие 4 Событие 5

3 декабря 2011 г. Событие 6

...

В настоящее время Enumerable вводит меня в заблуждение.Спасибо за любые рекомендации -

РЕДАКТИРОВАТЬ 22.12011

Текущие данные:

Строка контроллера-

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

Просмотр вызова-

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

Метод. На данный момент не указано ничего перечисляемого для метода ---

Моя таблица содержит следующие поля;: название,: место проведения,: адрес (геокодировано),: о (текст),: начало (функция даты и времени)

1 Ответ

1 голос
/ 22 декабря 2011

Обновление для обновления вопроса : Таким образом, у вас есть набор объектов событий в @events, чтобы вы могли использовать group_by:

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

Это даст вам хэш в @events_by_date с датами в качестве ключей и массивами объектов событий в качестве значений.

Тогда вам нужно, чтобы массив массивов дат соответствовал вашему месяцу и управлял таблицей из этого массива:

<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>

Конечно, может потребоваться некоторое форматирование, но структура будет аналогичной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...