尝试将time_select默认为空白值

时间:2016-01-04 21:08:45

标签: ruby-on-rails ruby forms ruby-on-rails-4 form-for

Ride是一个具有名为:requested_time属性的模型,该属性是日期时间。我希望网站用户能够选择他们的时间而不是日期。我正在尝试将时间选择下拉列表默认为空值。表格中出现空白值,但默认为凌晨5点,我不确定原因。我希望默认为空白。这是视图代码:

<%= f.time_select :requested_time, 
    {twelve_hour: true, minute_step: 15, ampm: true, include_blank: true},
     class: 'form-control pull-left', style: 'width: 10%; margin-right: 10px;' %>

我可以在视图代码中添加什么来使字段默认为空白值?

为了说明我的问题,以下是显示的内容:

enter image description here

如果我点击该字段,则会出现一个空白值:

enter image description here

我希望该空白值是页面加载时自动设置的选择字段。

1 个答案:

答案 0 :(得分:0)

我相信你需要对控制器进行一些明确的检查:

if params[:start_time] && ! params[:start_time][:hour].blank? && !params[:start_time][:minute].blank?
  params[:event][:start_time] = "#{params[:start_time][:hour]}:#{params[:start_time][:minute]}:00"
else
  params[:event][:start_time] = nil
end

要确认检查以确保浏览器正在将空白作为start_time发送,如果是,那么以上操作应该有效。

顺便说一下你得到早上5点的原因我很确定是因为时区问题。使用Time.zone正确设置区域。