Ich verwende JBuilder, um die Ansichten der JSON API Teil meiner Anwendung zu rendern. Das Problem, das ich in laufen lasse, ist, dass meine Datetime wie folgt wiedergegeben werden:Rails jbuilder DateTime Dezimalstellen zu Sekunde hinzufügen
„2013-07-02T17: 03: 18.000Z“
... wenn das, was ich wirklich will, ist dies:
"2013-07-02T17: 03: 18Z"
ich bin nicht sicher, wo diese Dezimalstellen von ...
kommendenich das Feld in der typischen Art und Weise JBuilder Rendering:
json.my_datetime_field
Ich habe ein Datumsformat initializer in meiner App:
Date::DATE_FORMATS[:default] = '%Y/%m/%d %Z'
Time::DATE_FORMATS[:default] = '%Y/%m/%d %H:%M:%S %Z'
Date::DATE_FORMATS[:month_day_year] = '%m-%d-%Y'
Dies ist jedoch nicht auszuwirken JBuilder scheint, und das ist gut. Ich möchte das ISO8601-Format von meiner API erhalten. Ich bin übrigens auf Rails 4.0.0 final.
Nicht sicher über JBuilder-Einstellungen, aber FYI - Nachkommastellen sind in ISO8601 zulässig. 3 Plätze sind üblich, aber auch 6 oder 7 Plätze. –
Ja, ich habe gekürzt und den Datumsformatierer des Client-Parsers geändert, um Bruchteile von Sekunden zu ermöglichen. Ich werde diese Frage hier lassen, falls jemand weiß, wie er die Ausgabe von jbuilder tatsächlich ändern kann. Der nächste, den ich je gesehen habe, ist DateTime von Affen zu patchen, um mit "as_json" zurückzukehren, was ich will, aber das scheint echt hacky zu sein. – elsurudo