【问题标题】:Ruby 1.9 migration with YAML Serialized Text Fields使用 YAML 序列化文本字段的 Ruby 1.9 迁移
【发布时间】:2012-04-22 17:06:20
【问题描述】:

我正在从 ruby​​ 1.8.7 升级到 ruby​​ 1.9.3。我注意到读取 YAML 序列化字段的方式有所不同。我的许多序列化字符串都被强制转换为新 YAML 格式的整数。例如:

1.8.7 :010 > "2011_01".to_yaml
 => "--- 2011_01\n" 
1.8.7 :011 > YAML.load("--- 2011_01\n")

1.9.3p125 :001 > YAML.load("--- 2011_01\n")
 => 201101 

这是什么原因造成的?有没有办法在新的 ruby​​ 中恢复到旧的行为,或者将我的字段迁移到新的格式?

【问题讨论】:

    标签: ruby-on-rails ruby yaml


    【解决方案1】:

    尝试使用syck 作为解析器:

    ruby-1.9.3-rc1 :001 > YAML::ENGINE.yamler = "syck"
     => "syck" 
    ruby-1.9.3-rc1 :002 > YAML.load("--- 2011_01\n")
     => "2011_01"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 2011-10-16
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-21
      相关资源
      最近更新 更多