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

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

问题描述:

我在部分中使用相同的表单来创建新对象并对其进行修改。我有以下领域:只有当前值为空时才设置date_field的默认值

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

我知道,我可以通过添加value: Time.now.strftime('%Y-%m-%d')设置为默认,但我想,如果做到这一点,只有当前值为空。我怎么做?

你可以直接检查是否为零,并提供今天的日期。

让说的形式是@person

<%= f.date_field :dob, value: @person.dob || Date.today.strftime("%Y-%m-%d"), class: "form-control" %> 

假设,这种形式对于用户的话,

<% date = @user.dob.present? ? @user.dob : Time.now.strftime('%Y-%m-%d') %> 

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

希望这会帮助你。

+0

那不好,我的朋友。 –

+0

你的意思是编辑form.object? –