2016-07-05 113 views
2

新しいオブジェクトを作成して変更するには、同じフォームを部分的に使用しています。現在の値が空の場合にのみ、date_fieldのデフォルト値を設定します。

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

私はvalue: Time.now.strftime('%Y-%m-%d')を追加することで、デフォルトを設定することができることを知っているが、現在の値が空の場合にのみ場合、私はこれをしたい:私は、次のフィールドがあります。それ、どうやったら出来るの?

答えて

2

あなたは直接そのnilをチェックし、今日の日付を提供することができます。

フォームが@person良いではない、私の友人

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

が、これはあなたを助けることを願って、

<% 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で編集を意味していますか? –

関連する問題