Render layout z blokiem i datą

W widoku mam:

<% render :layout => 'calendar' do |date| %> <%= date %> <% end %>
W _calendar.html.erb:

<% date = Date.today &> <%= 7.times do %> <%= yield date %> <% date += 1.day %> <% end %>
Pojawia się błąd:

`@content_for_2009-06-01' is not allowed as an instance variable name

Wychodzi mi na to, że nie da się tak daty przekazać, no chyba że skonweruję ją do formatu 2009_06_01, wtedy działa. Ktoś ma pomysł, jak to można bardziej elegancko obejść (albo zrobić poprawnie)?

P.S. Tak, wiem, że przykład trochę z czapy. :wink:

Mały OT: dlaczego używasz do tego layoutów a nie partiali?

Mam kalendarz miesięczny i chciałbym, żeby w polu z dniem pojawiały się różne partiale. Więc wyszło mi, że tak zrobię to najprościej, czyli jeden layout z kalendarzem i partiale wywoływane w bloku.

Bump.
Nikt na ten temat nic nie wie? (Jadę po ambicji :wink: )

Szczerze mówiąc pierwszy raz spotykam się z takim użyciem:

<% render :layout => 'calendar' do |date| %> <%= date %> <% end %>
Z reguły jak mam layout z jakimś slotem w którym wyświetlam różne rzeczy (różne partiale na przykład) to robię tak:

layout:

[code=html]


<%= yield :sidebar -%>
[/code] widok1:

<% content_for(:sidebar) do -%> <%= render :partial => 'some_partial' -%> <% end -%>
widok2:

<% content_for(:sidebar) do -%> <%= render :partial => 'some_other_partial' -%> <% end -%>
Nie możesz użyć takiego rozwiązania ?