A idéia é bastante simples, no lugar gerar o calendário inteiro (tabela, headers...) eu decidi simplesmente gerar os dias pertinentes ao calendário do mês atual, dessa forma o resto é facilmente customizável.
Veja alguns exemplos de uso:
# criando um calendário simples
<table>
<tbody>
<% calendar_iterate do |d| %>
<%= d %>
<% end %>
</tbody>
</table>
# usando links nos dias do calendário
<table>
<tbody>
<% calendar_iterate do |d| %>
<%= link_to d, events_path(:day => d.mday) %>
<% end %>
</tbody>
</table>
# trocando a data do calendário (se você não preencher algum parâmetro, o ano/mês atual serão utilizados)
<table>
<tbody>
<% calendar_iterate :month => 6, :year => 2009 do |d| %>
<%= d %>
<% end %>
</tbody>
</table>
# usando uma versão totalmente customizada das tags <tr> e <td>
<table>
<tbody>
<% calendar_iterate.each_week do |w| %>
<tr class="some_class">
<% w.each do |d| %>
<td class="cell_class"><%= d %></td>
<% end %>
</tr>
<% end %>
</tbody>
</table>
Então é isso, o código do projeto está no Github, e pode ser visto aqui.
Para instalar o Calendar Iterator na sua aplicação execute o seguinte comando:
script/plugin install git://github.com/wilkerlucio/calendar_iterator.git
Nenhum comentário:
Postar um comentário