とっても面倒だったのでメモ
日時選択ボックス的なのをサクッと作ってくれるdatetime_selectですが、ちょっと癖がある
普通はありえないけど、例でUserモデルのcreated_atを更新するサンプルコードです。
= form_tag("/user/#{@user.id}", :method => :post) do
= datetime_select(:created_at, :date, :default => @user.created_at)
POSTするとparams[:created_at]の中にいろいろはいってる
@user = User.find(params[:id])
@user.created_at = Time.zone.local(params[:created_at]["date(1i)"].to_i, params[:created_at]["date(2i)"].to_i, params[:created_at]["date(3i)"].to_i, params[:created_at]["date(4i)"].to_i, params[:created_at]["date(5i)"].to_i)
@user.save
DateTimeだとタイムゾーンを解釈してくれないので、Time.zone.localを使用して変換。