如何在没有类信息的情况下进行YAML转储?

时间:2019-03-07 17:09:18

标签: ruby yaml middleman

我正在转储一组Test类对象,而我的YAML却显示了这一点:

---
- !ruby/object:Test
  id: rec1NIfdJz
- !ruby/object:Test
  id: rec1R9TtHF

当我使用Middleman,然后引发YAML解析错误时,就会出现问题。

YAML Exception parsing ... undefined class/module Test

1 个答案:

答案 0 :(得分:1)

您需要先将其简化为某种简单的Ruby结构,例如Hash,

YAML.dump(object.to_h)

如果有,或者可以实现简单的.to_h方法。

YAML与元帅一样,将尝试保留该对象表示的Ruby类。像JSON这样的中性形式则没有,所以这可以替代。