我有一个厨师红宝石elb模板,我不是红宝石开发者:
我如何迭代以下?
for iter in node["cpu"]["total"].lentgh do
server unix:/tmp/aiohttp_<%= iter %>.sock fail_timeout=0;
end
我想要每个cpu核心一行,例如1,2,3,4-
server unix:/tmp/aiohttp_0.sock fail_timeout=0;
server unix:/tmp/aiohttp_1.sock fail_timeout=0;
server unix:/tmp/aiohttp_2.sock fail_timeout=0;
server unix:/tmp/aiohttp_3.sock fail_timeout=0;
答案 0 :(得分:1)
你使用<% %>
标签来表示像Erb中的循环这样的结构内容,或者更常见的是使用<%- -%>
来修剪空白行上的空格。for
虽然Numeric#times
循环是Ruby中的东西,但是非常不推荐它们,惯用的Ruby使用迭代器方法。对于&#34;做X次&#34;这将是total
方法。此外,.length
密钥只是一个数字,因此您无法使用<%- node["cpu"]["total"].times do |i| -%>
server unix:/tmp/aiohttp_<%= i %>.sock fail_timeout=0;
<%- end -%>
。
<img src='{{url_for('static', filename='img/question-mark.png')}}' alt='' >
你