[英]reflection of erb variables
我正在使用人偶模板,该模板对模板文件进行erb解释。 我想知道所有可用的变量,但是,有些变量(例如fqdn)没有被我知道的任何反射方法列出,具体而言,这些都不是:
<% Module.constants.each do |v| %># module constant: <%= v %>
<% end %>
<% Kernel.local_variables.each do |v| %># local variable: <%= v %>
<% end %>
<% Kernel.instance_variables.each do |v| %># instance variable: <%= v %>
<% end %>
<% Module.class_variables.each do |v| %># class variable: <%= v %>
<% end %>
<% Kernel.global_variables.each do |v| %># global variable: <%= v %>
<% end %>
是否有一种额外的erb反射方法可以将这些信息显示给我?
“查看所有客户端变量”应做您想要的
并不是很了解人偶模板,但是如果fqdn
是局部变量,则调用local_variables
(如self.local_variables
)应该显示它。
我对erb的内置反射方式不甚了解,但是对于Puppet,我认为scope.to_hash
返回的哈希可能正是您想要的。 从模板参考 :
<% scope.to_hash.keys.each do |k| -%>
<%= k %>
<% end -%>
另外,如果您只想一次性查看代理节点提供的变量,则可以在该节点上运行facter
。 这就是Puppet首先获取所有信息的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.