ERROR NoMethodError: private method `gsub' called for

ERROR NoMethodError: private method `gsub' called for ****:Date

这个错误可能除了可能是webrick的问题,也可能是你使用gsub的时候,因为你使用的是
        日期类型的变量.gsub
例如:
irb(main):001:0> Time.now.gsub('-', '')
NoMethodError: private method `gsub' called for Fri Jan 21 11:21:52 +0800 2011:T
ime
        from (irb):1
        from :0
irb(main):002:0>
irb(main):006:0> Date.gsub('-', '')
NoMethodError: private method `gsub' called for Date:Class
        from (irb):6
        from :0
irb(main):007:0>
irb(main):008:0> Time.now.to_s.gsub('-','')
=> "Fri Jan 21 12:26:41 +0800 2011"
irb(main):009:0>

报这个错误;

我报错的原因是:使用ActiveSupport::JSON.decode(metadata)这个方法转json格式,有一个字  符串为 '2010-10-08'导致直接给我decode为日期格式
当我使用 gsub进行替换内容的时候报的错。

解决办法:
  只需要str.to_s.gsub()就可以了,就是把日期格式的变量转换为字符串形式就可以了。

你可能感兴趣的:(json)