-1

以前に質問を投稿しましたが、意図が明確ではありませんでした。では、ここでもう一度やってみます。

私が抱えている問題は、Amazon と Chef の値を別々に抽出する必要があることです。現在、それらは両方とも私の反復で 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
    %>
4

1 に答える 1

0

これが欲しいですか:

SAO.each do |k,v|
 puts "env: #{k}; amazon: #{v[:amazon]}; chef: #{v[:chef]}; "
end

2 つのリストを使用する場合は、2 つの独立したループが必要です。

于 2012-08-17T23:00:41.237 に答える