Ruby 木偶中出现意外缩进';s erb模板输出

Ruby 木偶中出现意外缩进';s erb模板输出,ruby,erb,puppet,Ruby,Erb,Puppet,我对Puppet的erb模板中的to_yaml有问题 我的erb模板的内容如下所示: <%= {"key1"=>"value1", "key2"=>"value2"}.to_yaml %> 但我希望(没有缩进): 我做错什么了吗?这两种表述是否等效?我不这么认为。我甚至对最新的Puppet(3.7)进行了双重检查,但这种情况仍然存在(我的调试要点) 但这不会引起任何问题,它们的解释是一样的 但它们在语法上是相同的: vs 因此,从技术上讲,这并不是一个真正的bug,即使

我对Puppet的
erb
模板中的
to_yaml
有问题

我的
erb
模板的内容如下所示:

<%= {"key1"=>"value1", "key2"=>"value2"}.to_yaml %>
但我希望(没有缩进):


我做错什么了吗?这两种表述是否等效?我不这么认为。

我甚至对最新的Puppet(3.7)进行了双重检查,但这种情况仍然存在(我的调试要点)

但这不会引起任何问题,它们的解释是一样的

但它们在语法上是相同的:

vs


因此,从技术上讲,这并不是一个真正的bug,即使它看起来不同。

对于那些想知道的人来说,这里的问题是。。。扎姆

傀儡
到_yaml
方法,并将其路由到
ZAML.dump
(一度它被认为“更快”,但那是在Ruby 1.9和Psych之前,猛犸象在地球上行走,众神充满愤怒)


你试过了吗?
传来奇怪的声音。我可以复制,但在
irb
中,它工作正常-
irb(main):001:0>需要“yaml”;{“key1”=>“value1”,“key2”=>“value2”}。要_yaml
是。。。真奇怪。通过
irb
生成正确的输出。这是一个丑陋的修复程序,删除了每行开头的两个空格:
“value1”,“key2”=>“value2”}.to_yaml.gsub(/^\s{2}/,“”)%>
我应该在Puppet中打开票据吗?
--- 
  key1: value1
  key2: value2
--- 
key1: value1
key2: value2
> require 'yaml'
> puts YAML.dump({"key1"=>"value1", "key2"=>"value2"})
---
key1: value1
key2: value2

> require 'puppet/util/zaml'
> puts ZAML.dump({"key1"=>"value1", "key2"=>"value2"})
--- 
  key1: value1
  key2: value2