【问题标题】:Trying to default rails time_select to blank values尝试将默认 rails time_select 设置为空白值
【发布时间】:2016-04-08 13:56:00
【问题描述】:

Ride 是一个模型,它有一个名为 :requested_time 的属性,它是一个日期时间。我希望网站用户能够选择他们的时间而不是日期。我正在尝试创建一个默认为空白值的时间选择下拉列表。表单中出现了一个空白值,但默认为 5AM,我不知道为什么。我希望默认为空白。查看代码如下:

<%= 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;' %>

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

    我相信控制器必须像这样进行一些明确的检查:

    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 正确设置您的区域。

    【讨论】:

    • 谢谢,但是这里没有参数哈希?这只会涉及创建操作,但我仍然处于新状态。我不是想改变它的保存方式,而是改变它在表单中的查看方式。
    • 对不起,我对“表单中出现空白值,但默认为 5AM”感到有些困惑。你看到表格上的空白对吗?然后,您何时/何地/如何看到 5AM 的值?
    • 我在问题中添加了一些图片,让问题更容易理解。
    • 但在选择下方它确实显示一个空白???只是确认一下,很抱歉很厚!我的错不是你的:-)
    • 没问题!是的,它显示在选择下方。空白值在那里,但不是默认值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    • 2019-05-17
    • 1970-01-01
    相关资源
    最近更新 更多