【发布时间】:2012-08-14 06:21:11
【问题描述】:
我之前发布了一个问题,但我并不清楚我的意图。所以在这里我会再试一次。
我遇到的问题是我需要分别提取亚马逊和厨师的价值。现在它们在我的迭代中都保存在 b 值中。我试图在 value.each 中创建另一个循环,但出现错误。如何有效地分别有效地提取价值?
任何帮助将不胜感激。
我通过这种方式从 yaml 文件中获取哈希
require 'yaml'
path = File.join(Rails.root, 'config', 'stage-aws-opscode.yml')
SAO = YAML.load_file(path)
stage-aws-opscode.yml 包含以下数据
sandbox: &defaults
amazon: aws-green
chef: mdsol
validation:
<<: *defaults
cruise:
<<: *defaults
hendricks:
<<: *defaults
distro:
<<: *defaults
performance:
<<: *defaults
innovate:
amazon: aws-red
chef: mdsol-production
production:
amazon: aws-red
chef: mdsol-production
这是我的迭代。
<%
SAO.each do |key, value|
parent = "#{key}"
value.each do |a, b|
"#{a}" "#{b}"
end
end
%>
【问题讨论】:
-
这个问题恐怕还是有点不清楚。你能发布一个预期输出的例子吗? (不必是HTML,文字即可)
-
我想你要的是亚马逊名单和厨师名单?
-
这些值是由我在上面列出的 yaml 文件生成的。不确定这是否足够清楚,但我会尝试。这个想法是,如果用户从下拉菜单中选择沙箱,则 amazon 的值应该是 aws-green,而 chef 的值应该是 mdsol。
标签: ruby-on-rails hash loops