0

我在我的网站上使用 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

我的日期时间选择器设置..

  $('.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"
4

1 回答 1

1

时间格式应该都是一种格式。

请注意 的时间格式与start_at的不同end_at

start_at=>Thu, Feb 07, 03:00PM

end_at=>Thu, Feb 7, 4:00PM

因此,如果您的表单字段如下所示:

<%= f.text_field :end_at, :class => "ended-at-datetime" %>

您可以application.js像这样显式设置它:

$('.ended-at-datetime').datetimepicker({dateFormat: 'yy-mm-dd ', timeFormat: 'hh:mm:ss ', ampm: true});

也一样start_at

我可能是错的,但我没有看到它分开。

我知道如果格式不正确,它不会进入数据库。

于 2013-02-06T07:36:15.267 回答