仅当当前值为空时才设置date_field的默认值

时间:2016-07-05 14:47:47

标签: ruby-on-rails ruby-on-rails-4

我在部分中使用相同的表单来创建新对象并对其进行修改。我有以下字段:

<%= f.date_field :dob, class: 'form-control' %>

我知道我可以通过添加value: Time.now.strftime('%Y-%m-%d')来设置默认值,但是当且仅当当前值为空时我想这样做。我该怎么做?

2 个答案:

答案 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' %>

希望这会对你有所帮助。