我在部分中使用相同的表单来创建新对象并对其进行修改。我有以下字段:
<%= f.date_field :dob, class: 'form-control' %>
我知道我可以通过添加value: Time.now.strftime('%Y-%m-%d')
来设置默认值,但是当且仅当当前值为空时我想这样做。我该怎么做?
答案 0 :(得分:2)
您可以直接检查它是否为零,并提供今天的日期。
让我们说这个表格适用于@person
<%= f.date_field :dob, value: @person.dob || Date.today.strftime("%Y-%m-%d"), class: "form-control" %>
答案 1 :(得分:0)
假设,这个形式供用户使用,
<% date = @user.dob.present? ? @user.dob : Time.now.strftime('%Y-%m-%d') %>
<%= f.date_field :dob, value: date, class: 'form-control' %>
希望这会对你有所帮助。