[英]Rails to_json uses different DATE_FORMATS that .to_s
在我的rails_defaults.rb中包含以下內容:
Date::DATE_FORMATS[:default] = '%m/%d/%Y'
Time::DATE_FORMATS[:default]= '%m/%d/%Y %H:%M:%S'
為什么以下結果不同:
ruby-1.9.2-p180 :005 > MyModel.find(2).to_json(:only => :start_date)
=> "{\"start_date\":\"2012-02-03\"}"
ruby-1.9.2-p180 :006 > MyModel.find(2).start_date.to_s
=> "02/03/2012"
更重要的是,如何獲取to_json
以使用%m/%d/%Y
?
由於日期的標准JSON格式為%Y-%m-%d
,除非您覆蓋Date#as_json
,否則無法更改它(請勿這樣做,否則應用程序將開始出現異常)。
class Date
def as_json(options = nil) #:nodoc:
if ActiveSupport.use_standard_json_time_format
strftime("%Y-%m-%d")
else
strftime("%Y/%m/%d")
end
end
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.