在编辑表单上的Rails 4上隐藏jquery.timepicker的空日期值

时间:2016-04-17 17:21:22

标签: jquery ruby-on-rails simple-form

我正在使用约翰桑顿的这个JQuery Timepicker,它可以很好地作为一个新的"#34;表单(表示下拉列表使用值" 09:00 AM"填充输入字段。

但是,当我渲染 EDIT 表单并且time_start或time_end列有一个值时,输入字段会添加日期,看起来像这样" 2000-01-01 09:00 :00 UTC"。我可以点击" 09:00 AM"在下拉菜单中让它在输入中更改,但我希望现有的time_start或time_end值在输入字段中呈现而不显示日期。这很奇怪。

我使用的是rails 4.2和simple_form,我的db字段是时间字段,而不是日期时间。

这是我的rails代码段:

项目/ edit.html.slim

 #newProjectTimeMenu
        .row
          .col-md-4.col-sm-6.col-xs-6
            = f.label :time_start, label: 'Time Start'
            .input-group.date
              span.input-group-addon
                i.fa.fa-clock-o
              =  f.text_field   :time_start, required: true, class: 'form-control time-end'

          .col-md-4.col-sm-4.col-xs-6.pr0
            = f.label :time_end, label: 'Time End'
            .input-group.date
              span.input-group-addon
                i.fa.fa-clock-o
              =  f.text_field   :time_end, required: true, class: 'form-control time-end'

这是我在同一页面上调用的jquery:

  $('#newProjectTimeMenu .time-start, #newProjectTimeMenu .time-end').timepicker({
      'minuteStep': 30,
      'minTime': "09:00:00",
      'maxTime': "22:00:00",

      'defaultTime':  true,,
      });

工作解决方案: 感谢下面的答案,我有解决方案......但我必须将其翻译成" simple_form"说话。这是我正在使用的代码:

  =  f.text_field   :time_end, required: true, class: 'form-control time-end', value: "#{ f.object.time_end.strftime("%I:%M %p") rescue nil }"

1 个答案:

答案 0 :(得分:1)

<{1>}中的

请尝试添加:

=  f.text_field   :time_start, required: true, class: 'form-control time-end'