我是红宝石和哈希的新手。最近,我陷入了一个哈希问题。 创建哈希的目的是在以后格式化为xml。它正在与SOPA XML Call一起使用。我将粘贴以下功能。
一个功能是创建哈希,另一功能是将哈希转换为xml(这可能并不重要)。def hotel_status_hash(houses)
houses = houses.map do |h| {
"Statistic": {
"@HotelCode" => h
}
}
end
{
"Statistics":houses
}
end
def request_xml(client, action, message = {})
client.build_request(action, :attributes => root_attribute) do
message(message)
end.body
end
预期结果
<OTA_HotelStatsNotifRQ Target="Production" PrimaryLangID="zh-cn" Version="1.0"
TimeStamp="2016-02-13T09:30:47Z" xmlns="http://www.opentravel.org/OTA/2003/05"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<POS>
<Source>
<RequestorID ID="32" MessagePassword="P@ssw0rd" Type="1" />
<CompanyName Code="C" CodeContext="1" />
</Source>
</POS>
<Statistics>
<Statistic HotelCode="1332484" />
<Statistic HotelCode="1332483" />
</Statistics>
</OTA_HotelStatsNotifRQ>
实际结果
<OTA_HotelStatsNotifRQ Target="Production" PrimaryLangID="zh-cn" Version="1.0"
TimeStamp="2016-02-13T09:30:47Z" xmlns="http://www.opentravel.org/OTA/2003/05"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<POS>
<Source>
<RequestorID ID="32" MessagePassword="P@ssw0rd" Type="1" />
<CompanyName Code="C" CodeContext="1" />
</Source>
</POS>
<Statistics>
<Statistic HotelCode="1332484" />
</Statistics>
<Statistics>
<Statistic HotelCode="1332483" />
</Statistics>
</OTA_HotelStatsNotifRQ>
因此,基本上,我希望在边统计中循环统计,而不是循环统计。我真的很感谢任何帮助。