Używam JBuilder do renderowania widoków JSON API części mojej aplikacji. Problem biegnę na to, że moje DateTimes są renderowane tak:Rails jbuilder DateTime dodawanie miejsc dziesiętnych do drugiego
„2013-07-02T17: 03: 18.000Z”
... kiedy to, co naprawdę chcę to:
"2013-07-02T17: 03: 18Z"
nie jestem pewien, gdzie te pochodzą dziesiętne ...
mam renderowania boiska w typowym JBuilder sposób:
json.my_datetime_field
Mam format daty inicjatora w mojej aplikacji:
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'
to jednak nie wydaje się wpływać JBuilder, i to jest dobre. Chcę, aby format ISO8601 pochodził z mojego API. W końcu jestem na finałach Rails 4.0.0.
Not sure about JBuilder's settings, ale FYI - ułamek sekundy po przecinku jest dozwolony w ISO8601. 3 miejsca są powszechne, ale są też 6 lub 7 miejsc. –
Tak, zamknąłem i zmieniłem formater formatowania daty po stronie klienta, aby umożliwić ułamek sekund. Zostawię to pytanie na wypadek, gdyby ktoś wiedział, jak właściwie zmienić dane wyjściowe jbuildera. Najbliższy, do którego przyszedłem, jest łatanie Monkey DateTime, aby zwrócić to, co chcę z "as_json", ale to wydaje się naprawdę hacky. – elsurudo