calendar_helper

calendar_helperを使ってみたよ。

script/plugin install http://topfunky.net/svn/plugins/calendar_helper

カレンダーを表示するだけなら、こう書く。

<%= calendar(:year=>@year, :month=>@month) %>

ブロック使用すると、各日の編集ができます。ソースを見たところ、
ブロック引数:Date型
戻り値:1つ目は表示部分(tdの要素)
戻り値:2つ目は属性?(class定義)
みたいです。

日毎にリンク化したかったので、こう書きました。

<%= calendar(:year=>@year, :month=>@month) do |n|
 (link_to n.day, {:action=>:input,
         :year=>n.year,
         :month=>n.month,
         :day=>n.day})
end %>

しかし、このままじゃ前月の日が表示されて嫌な感じだったので、calendar_helper.rbを中途半端に修正。
111、132行目付近に

elsif options[:no_last_month]
 cal << %("></td>)

そして

<%= calendar(:year=>@year, :month=>@month, :no_last_month=>true) do |n|
 (link_to n.day, {:action=>:input,
         :year=>n.year,
         :month=>n.month,
         :day=>n.day})
end %>

理想通りに表示できましたとさ。