嗨,我想要一些关于如何在木偶的 erb 中编写代码的帮助,基本上我有
server::actionhost { 'details':
servername[ 'felix', 'washington', ],
ipa [ '192.168.43.5', '192.168.43.11', ],
enviro [ 'prod', 'uat', ],
}
我现在想将其打印到一个文件中,每个数组中的每个元素都在一行中,即我班级中模板文件的输出应该是这样的:
felix 192.168.43.5 prod
washington 192.168.43.11 uat
当我尝试这样做时,我在模板文件中编写了以下代码:
<% servername.each do |name| -%>
<% ipa.each do |ip| -%>
<% enviro.each do |env| -%>
<%= name %> <%= ip %> <%= env %>
<% end -%>
<% end -%>
<% end -%>
但我得到的是多次递归打印,而不是从每个数组打印,然后移动到下一个数组元素。
我正在考虑一个 for 循环,但不确定如何获取数组长度作为 for 循环的参数,希望获得有关如何完成正确输出的一些指导?
我试过做这样的事情,但它失败了,木偶运行时出错了?
<% for id in servername.length %>
<%= servername[id] %> <%= ipa[id] %> <%= enviro[id] %>
<% end -%>
谢谢丹
您需要使用该数据结构的任何特定原因?这将很快变得不可读,并且很容易通过不小心从一个数组而不是其他数组中添加或删除元素来破坏事物。改用这样的东西怎么样?
那么在 erb 中使用就简单多了:
但是,如果您坚持使用当前的数据结构,那么应该这样做......
Shane Madden 的回答很好,但我认为缺少“@”:
代替
一个应该使用
有更高声誉的人可以在原始答案中评论和/或承认这样我的“答案”可以被删除
这也是木偶食谱第三版中的记录方式
谢谢,马特