我正在尝试在Chef模板中渲染yaml对象,效果很好,但是正如我们所知,在yaml空间中也很重要,因此它正在创建新属性。
collection: <%= @collection.to_hash.to_yaml %>
集合是json对象
collection = { "name": "col1", "nested": { "nKey": 1 } }
预期结果是
collection:
name: col1
nested:
nKey: 1
获取结果
collection: ---
name: col1
nested: !ruby/hash:Mash #nested is not part of collection.
nKey: 1
第二种方法是从to_yaml函数中删除类型(!ruby/hash:Mash
)和---
吗?
答案 0 :(得分:0)
您通常要使用to_json
,因为所有JSON都是有效的YAML。有点难看,但通常效果更好:)