Ich habe eine Rails 4 App, in der wir den Benutzer mit einem Datepicker präsentieren müssen, aber das gewählte Datum sollte im MM-DD-YYYY
Format sein. Wenn ActiveRecord das Datum an Rails sendet, erkennt ActiveRecord das Format nicht, da ich weiß, dass es YYYY-MM-DD
erwartet. Validierungen schlägt fehl (Datum ist nicht vorhanden).Datepicker gewählt Datumsformat zu Rails Backend
Die JS ist wie folgt:
$("#some_date").datetimepicker
pickTime: false
format: 'MM-DD-YYYY'
(das Display funktioniert super mit einem hervorragenden picker, das angezeigt wird).
Dann meine schlanke Vorlage:
= f.input :date, as: :string, label: false, input_html: { class: 'form-control', value: @visit.date.strftime('%m-%d-%Y') }
p.help-block MM-DD-YYYY
Wenn ich das Format YYYY-MM-DD
ändern funktioniert perfekt und das Datum wird in PostgreSQL gespeichert wie es ist, aber in den USA, wird das Datum in der Regel als MM-DD-YYYY
angezeigt.
Ich möchte auch nicht zu sehr mit Hilfsmethoden oder konvertieren das Datum von HTML-Eingaben auf jedem Controller so PostgreSQL ist glücklich. Ich habe mich gefragt, ob es eine Möglichkeit gibt, wie das Datumsformat geändert werden kann, wenn es zum Backend geht?
In meinem config/locales/en.yml
, ich habe:
date:
formats:
default: '%m/%d/%Y'
Prost!