Ruby on rails 如何在Rails控制台上反序列化Rails ActiveRecord序列化字段?

Ruby on rails 如何在Rails控制台上反序列化Rails ActiveRecord序列化字段?,ruby-on-rails,activerecord,serialization,Ruby On Rails,Activerecord,Serialization,在我的数据库中,我有一个ActiveRecord类型的表,该表有一个序列化对象(存储为“--!ruby/hash:”,后跟用换行符分隔的类名和键/值)。我必须手动重建数据库的一部分,现在我只有一个CSV行转储。我正在研究一个导入对象和恢复条目的解决方案,但是我找不到反序列化这些序列化哈希的方法。要调用什么对象/方法来还原这些对象?看起来数据库中有一个yaml对象。您可以尝试以下操作: YAML::load(your_column) 例如,使用时间对象转换列: [1] pry(main)

在我的数据库中,我有一个ActiveRecord类型的表,该表有一个序列化对象(存储为“--!ruby/hash:”,后跟用换行符分隔的类名和键/值)。我必须手动重建数据库的一部分,现在我只有一个CSV行转储。我正在研究一个导入对象和恢复条目的解决方案,但是我找不到反序列化这些序列化哈希的方法。要调用什么对象/方法来还原这些对象?

看起来数据库中有一个yaml对象。您可以尝试以下操作:

YAML::load(your_column)
例如,使用时间对象转换列:

    [1] pry(main)> puts t.request
    --- 2016-06-22 01:23:54.038830166 +03:00
    ...
    => nil
    [2] pry(main)> YAML::load(t.request)
    => 2016-06-22 01:23:54 +0300
    [3] pry(main)> YAML::load(t.request).class
    => Time

看起来数据库中有一个yaml对象。您可以尝试以下操作:

YAML::load(your_column)
例如,使用时间对象转换列:

    [1] pry(main)> puts t.request
    --- 2016-06-22 01:23:54.038830166 +03:00
    ...
    => nil
    [2] pry(main)> YAML::load(t.request)
    => 2016-06-22 01:23:54 +0300
    [3] pry(main)> YAML::load(t.request).class
    => Time

谢谢,这让我朝着正确的方向前进了!谢谢,这让我朝着正确的方向前进了!