カレンダーから日付入力

Redmineにカレンダーから日付入力するいい感じのコントロールがあったので、自分ちのアプリケーションで使ってみた。これはRailsのプラグインではなく、普通のDHTMLで書かれているものを組み込んでいるみたいです。こちらのものを使用?↓
http://www.dynarch.com/projects/calendar/


手順


Redmineのソースを取ってくる(このときのバージョンは0.7.3)
http://rubyforge.org/frs/?group_id=1850


自分ちの app/helpers/application_helper.rb に、Redmineのapplication_helper.rbから以下のメソッドをコピー
calendar_for
include_calendar_headers_tags
content_for

自分ちのpublicに、Redmineのpublicから以下のフォルダ・ファイルをコピー
javascripts/calender (から下全て)
stylesheets/calendar.css
images/calendar.png


application_helper.rb の include_calendar_headers_tags で、各言語用ファイル読み込みのところをこんな感じに修正(日本語オンリーになるけど)↓
javascript_include_tag("calendar/lang/calendar-ja.js") +

日付の入力書式を変えたかったら、このコードを修正(スラッシュ区切りにしてみる)↓
javascript_tag("Calendar.setup({inputField : '#{field_id}', ifFormat : '%Y/%m/%d', button : '#{field_id}_trigger' });")

コントロールを配置するviewのlayoutsファイルの、headタグ内あたりに以下のコードを追記↓
<%= javascript_include_tag('prototype.js') %>
<%= yield :header_tags %>

使い方


<%= f.text_field :ordered_date, :size => 20 %>
<%= calendar_for('order_ordered_date') %>

以上。

実際動かしてみるとこんな感じ

↓日付項目の横のアイコンをクリック