日時を選択するために、自分のサイトで jquery datetimepicker プラグインを使用しています。フォームで、送信時にこれを投稿する会議フォームの start_at と end_at 時刻 (どちらも datetimepicker を使用) を変更します。
Parameters: {"utf8"=>"✓", "authenticity_token"=>"ugju0DDRlcMkg5u2FtTDj8upZNV16vXgd7RLqzgNmLE=", "meeting"=>{"organizer_id"=>"2", "state"=>"draft", "title"=>"testing endtime", "message"=>"wtf!", "start_at"=>"Thu, Feb 07, 03:00PM", "end_at"=>"Thu, Feb 7, 4:00PM",...
明らかに、start_at と end_at の両方が渡されています。奇妙なことに、start_at はデータベースで更新されますが、end_at は更新されません。どちらもフォーム上で変更されました。何か案は?
ログから..
UPDATE "meetings" SET "start_at" = '2013-02-07 23:00:00.000000', "updated_at" = '2013-02-06 06:44:16.922129' WHERE "meetings"."id" = 6
私のdatetimepicker設定..
$('.date_time_select').live('click', function() {
$(this).datetimepicker({
ampm: true,
dateFormat: "D, M d,",
timeFormat: "h:mmTT",
minDate: 0
}).focus();
});
私のコントローラー..
def update
@meeting = current_user.meetings.find(params[:id])
respond_to do |format|
if @meeting.update_attributes(params[:meeting])
format.html { redirect_to @meeting, :notice => "Meeting was successfully updated" }
format.json { head :ok }
end
end
end
そしてスキーマ..
t.datetime "start_at"
t.datetime "end_at"