2013-07-25 5 views
3

У меня есть объект вопроса с атрибутом created_at. Когда я найду вопрос, я вернусь созданный_at из службы REST, но Activeresource не преобразует строку даты в DateTime.Как следует связать ответ json так, чтобы ActiveResource мог генерировать объект DateTime с даты?

Question.find(1) 
/questions/1.json 

Question.find(1).created_at.class 
=> String 

В каком формате должен быть ответ Json, так что ActiveResource преобразует его в DateTime?

Если это невозможно, что мне делать?

ответ

6

Согласно слайду # 14 в this presentation, вы можете сделать это в config/initializers/active_resource.rb:

ActiveSupport::JSON::Encoding.use_standard_json_time_format = true 
ActiveSupport.parse_json_times = true 
0

JSON всегда будет строкой, так как она передает данные в виде объектов с жесткими свойствами. Если вы хотите преобразовать его в объект даты/времени, вам нужно будет разобрать его на стороне сервера.

Time.parse должен сделать трюк

http://ruby-doc.org/stdlib-2.0/libdoc/time/rdoc/Time.html#method-c-parse

+0

Но мне нужна структура JSon, потому что моя служба отдыха находится в perl не в Rails. – Piioo