如何将默认值设置为datetime_field

时间:2020-02-15 17:07:48

标签: ruby-on-rails ruby

我正在尝试为视图内的datetime_field设置默认值。我检查了多个来源,但都无法给出正确的结果。

例如,此示例不起作用 https://edgeapi.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html

datetime_field("user", "born_on", min: "2014-05-20T00:00:00")
# => <input id="user_born_on" name="user[born_on]" type="datetime-local" min="2014-05-20T00:00:00.000" />

这是我的代码:

<div class="form-group">
   <%= f.datetime_field(:date_reported, class: "form-control col-sm-3", min: "2014-05-20T00:00:00") %>
</div>

我的代码显示如下:

enter image description here

2 个答案:

答案 0 :(得分:0)

链接到表单对象(f)的对象需要将其属性设置为要输入的默认值。

如果您执行这样的操作,它应该可以工作

<% f.object.date_reported = Date.new(1984, 1, 12) %>
<div class="form-group">
   <%= f.datetime_field(:date_reported, class: "form-control col-sm-3", min: "2014-05-20T00:00:00") %>
</div>

请注意,通常,应在相关的控制器中而不是在视图中设置表单的默认值。

答案 1 :(得分:0)

回答我的问题:

内部控制器

def new
  @mine = Mine.new
  @time_now = Time.new.strftime("%Y-%m-%dT%k:%M")
end

内部视图

<div class="form-group">
  <%= f.datetime_field(:date_reported, class: "form-control col-sm-3", value: @time_now ) %>
</div>