2016-07-05 3 views
2

Ich benutze das gleiche Formular in einem Teil, um ein neues Objekt zu erstellen und es zu ändern. Ich habe folgendes Feld:Setzen Sie den Standardwert von date_field nur, wenn der aktuelle Wert leer ist

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

Ich weiß, dass ich durch das Hinzufügen value: Time.now.strftime('%Y-%m-%d') seine Standardeinstellung kann, aber ich möchte, dies zu tun, wenn und nur wenn der aktuelle Wert ist leer. Wie mache ich das?

Antwort

2

Sie können direkt überprüfen, ob es Null ist, und das heutige Datum angeben.

Nehmen wir das Formular für @person ist

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

suppose, ist diese Form für den Benutzer dann,

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

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

Hope this Ihnen helfen.

+0

Das ist nicht gut, mein Freund. –

+0

Sie meinen mit form.object bearbeitet? –

Verwandte Themen