代码之家  ›  专栏  ›  技术社区  ›  summu

以简单格式为rails设置默认时间戳

  •  0
  • summu  · 技术社区  · 6 年前

    我的简单表单

    <div><%= f.input :start_time %></div>
    <div><%= f.input :end_time %></div>
    

    开始时间和结束时间是我在postgresql中的数据库列 默认情况下,当我打开表单时,它会将当前时间作为默认值,就像在选项上选择它一样。 如何设置默认时间 02:14 (开始和结束时间的当前时间)在屏幕中排序到00:00

    用户界面如下所示 enter image description here

    数据库列 enter image description here

    2 回复  |  直到 6 年前
        1
  •  1
  •   bo-oz    6 年前

    对于新的:

    def new
      @model = Model.new
      @model.start_time = Time.now.beginning_of_day
      @model.end_time = Time.now.beginning_of_day
    end
    

    如果我没弄错的话,这应该把标准日期定在今天,但要定在00:00。

        2
  •  0
  •   Bartosz Pietraszko    6 年前

    两种方式:

    1)在控制器动作中,设置初始化时的实际属性值:

    def new
      @event = Event.new(start_time: Time.now.beginning_of_day, end_time: Time.now.beginning_of_day)
    end
    

    2)如果由于某种原因您不想更改实际属性,您可以只设置视图中输入的值。谨慎使用。

    <div><%= f.input :start_time, input_html: {value: (f.object.start_time || Time.now.beginning_of_day) } %></div>
    <div><%= f.input :end_time, input_html: {value: (f.object.end_time || Time.now.beginning_of_day)} %></div>