【发布时间】:2019-08-18 13:49:25
【问题描述】:
我有一个加载到 Ruby 哈希中的 XML 对象。目标是在网页中显示来自 Web 服务的一些复杂 XML。
棘手的是,根据从 Web 服务返回的 XML 数据,XML 看起来会有所不同。
我的 ERB 代码看起来像这样......
...
<p>Name:</p><%= @some_hash['root']['data']['name'] %>
<table>
<tr><td><span class="label">Total:</span><%= @some_hash['root']['data']['subdata'] %></td></tr>
<tr><td><span class="label">Rate:</span><%= @some_hash['root']['data']['subdata1'] %></td></tr>
</table>
<table>
<tr>
<th>Column A</th>
<th>Column B</th>
</tr>
<% @some_hash['root']['data']['subdata2'].each do |value| %>
<tr>
<td><%= @value['A'] %></td>
<td><%= @value['B'] %></td>
</tr>
<% end %>
</table>
...
我将“@”放在变量前面以检查是否为零。那没有多大作用。我不确定这是否是最好的方法。如何干净地遍历 ERB 并仅在值存在时执行?
【问题讨论】:
-
可能缺少哪个值以及当前值或缺失值的预期结果是什么?