Ruby 木偶中出现意外缩进';s erb模板输出
我对Puppet的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,即使
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