たとえばブログ記事のモデルEntryがあって、はてなダイアリーみたいに投稿者が投稿日を指定できるとする。日時や日付を入力したい場合、投稿画面では以下のように datetime_select や date_select を使うと凄く楽だ(posted_time は datetime カラム、posted_date は date カラムだとする)。 <%- form_for @entry do |f| -%> 時刻も指定:<%= f.datetime_select :posted_time %><br /> 日付のみ:<%= f.date_select :posted_date %><br /> <% # 以下略 %> この場合、日付選択部分で「2月31日」のような不正な日付を選択しても、ActiveRecord::Base が勝手に「3月2日」のような(余計な日数分だけ後ろにずらした)日付に