我有一个问题对象,其中包含 created_at 属性。当我找到问题时,我会从 REST 服务中取回 created_at,但 Activeresource 不会将日期字符串转换为 DateTime。
Question.find(1)
/questions/1.json
Question.find(1).created_at.class
=> String
Json 响应应该采用哪种格式,以便 ActiveResource 将其转换为 DateTime?
如果不可能,我该怎么办?
我有一个问题对象,其中包含 created_at 属性。当我找到问题时,我会从 REST 服务中取回 created_at,但 Activeresource 不会将日期字符串转换为 DateTime。
Question.find(1)
/questions/1.json
Question.find(1).created_at.class
=> String
Json 响应应该采用哪种格式,以便 ActiveResource 将其转换为 DateTime?
如果不可能,我该怎么办?
根据本演示文稿中的幻灯片 #14 ,您可以在以下位置执行此操作config/initializers/active_resource.rb
:
ActiveSupport::JSON::Encoding.use_standard_json_time_format = true
ActiveSupport.parse_json_times = true
JSON 将始终是一个字符串,因为这就是它将数据作为字符串化对象传递的方式。如果要将其转换为日期/时间对象,则需要在服务器端对其进行解析。
Time.parse
应该做的伎俩
http://ruby-doc.org/stdlib-2.0/libdoc/time/rdoc/Time.html#method-c-parse