应该如何链接json响应,以便ActiveResource可以从日期生成DateTime对象?

时间:2013-07-25 15:14:38

标签: ruby-on-rails json rest activeresource

我有一个带有created_at属性的问题对象。当我找到一个问题时,我会从REST服务中获取created_at,但Activeresource不会将日期字符串转换为DateTime。

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

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

以哪种格式应该是Json响应,以便ActiveResource将其转换为DateTime?

如果不可能,我该怎么办?

2 个答案:

答案 0 :(得分:7)

根据this presentation中的第14张幻灯片,您可以在config/initializers/active_resource.rb中执行此操作:

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

答案 1 :(得分:0)

JSON将始终是一个字符串,因为它是将数据作为stringyfied对象传递的方式。如果要将其转换为日期/时间对象,则需要在服务器端解析它。

Time.parse应该做的伎俩

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