Ich habe ein paar Formulare in meiner Anwendung, die date_select
verwenden und ich habe mich gerade dazu entschieden, date_field
zu verwenden (was die HTML5-Formularelemente verwendet). Das einzige Problem ist, dass date_select
standardmäßig ist zum heutigen Datum, das für uns perfekt war, aber date_field
ist stattdessen auf dd/mm/yyyy
voreingestellt.
Ich stoße auf Probleme mit Leuten, die blind das Formular abschicken und Validierungsfehler auslösen.
Ist es möglich, date_field
auf heute zu setzen?
Keine dieser Optionen funktionierte für mich und versuchte, date_field_tag
zu verwenden.
Was hat Arbeit den Wert wie folgt übergeben:
date_field_tag(:my_thing_end_date, :end_date, value: Date.current.strftime('%Y-%m-%d')
Aus der Dokumentation ( Ссылка )
Der Standardwert wird generiert, indem versucht wird, "to_date" für den Objektwert aufzurufen, wodurch er sich wie erwartet verhält für Instanzen von DateTime und ActiveSupport :: TimeWithZone.
Die Übergabe des Datums als Zeichenfolge, die vom Benutzer eingegeben werden sollte, scheint also die Lösung zu sein.
Auch nach diesen guten Informationen zu Daten und Zeitzonen ist Date.current
besser als Time.today
: Ссылка .
Das Verwenden des Time-Objekts für ein Datumsfeld funktionierte für mich nicht, ich musste das Date-Objekt verwenden.
Ergebnislistencode für Rails 4:
%Vor%Das Festlegen des Wertes ":", wie viele dieser Antworten vorschlagen, überschreibt einen Wert, der für jeden Datensatz, der gerade bearbeitet wird, übergeben wird. Das ist kein Problem, wenn das Formular nur für neue Einträge, aber fehlerhaft ist, wenn Sie Datensätze in dem Formular bearbeiten möchten. Eine Möglichkeit ist es, das existierende Objekt explizit zu erfassen, wie Michael es vorschlägt.
Die Lösung, die ich momentan verwende, befindet sich im Controller, der den Wert auf heute setzt, wenn er den neuen Datensatz erstellt. Angenommen, Ihr Modell ist Person und der Wert, den Sie festlegen möchten, ist start_date:
%Vor%Sie können dann einfach den Wert im Formular ohne zusätzlichen Aufwand verwenden.
%Vor%Tags und Links ruby-on-rails