Я использую виджет DatePicker пользовательского интерфейса jquery для отображения календаря. Каждый день в календаре представлен коллекцией объектов Result, которые принадлежат объективной модели.
Если все результаты за день успешны, я устанавливаю класс в ячейке календаря, чтобы он стал зеленым. Если хотя бы один из них потерпел неудачу, я делаю его красным. Если нет результатов, я делаю это серым. Прямо сейчас я делаю что-то вроде этого:
<%= start_day .. end_day do |day| %>
<div class="hidethis" id="<%= [day.year,day.month,day.year].join(",") %>" value="<%= objective.result_status_for_day(day)%>"/>
<% end %>
Я храню данные в скрытых элементах div, а позже, когда инициализирую календарь, в beforeShowDay я просматриваю идентификаторы div, чтобы найти соответствующий мне, и устанавливаю класс, отвечающий за раскрашивание клетка. Есть ли другой способ сделать это, или это то, что другие люди используют на практике?