以下のコードは、if ステートメント "g2k.has_key?(k)" がfalseになるとすぐに各ループを終了するのはなぜですか?
e.element_children.all? do |n|
k = n.name.to_sym
logger.info("#{n.name} as symbol is '#{k}' is valid? = #{g2k.has_key?(k)}")
if g2k.has_key?(k)
logger.info("#{g2k[k] }= #{n.content}")
# @vehicle_data[g2k[k]] = n.content
end
end
これは、意図したとおりにすべての要素の子をループします
e.element_children.all? do |n|
k = n.name.to_sym
logger.info("#{n.name} as symbol is '#{k}' is valid? = #{g2k.has_key?(k)}")
#if g2k.has_key?(k)
# logger.info("#{g2k[k] }= #{n.content}")
# @vehicle_data[g2k[k]] = n.content
#end
end
Rails 3.2 と Ruy 1.9 を使用し、nokogiri で XML を解析しています。