我有一個從哈希陣列中填充的表。資料如下所示:
[
{'key' => 'some key', 'value' => 'some value'},
{'key' => 'some key2', 'value' => 'some value2'},
{'key' => 'some key3', 'value' => 'some value3'},
{'key' => 'some key4', 'value' => ''},
{'key' => 'some key5', 'value' => ''}
]
但它也可以是這樣的:
[
{'key' => 'some key', 'value' => ''},
{'key' => 'some key2', 'value' => ''},
{'key' => 'some key3', 'value' => ''}
]
現在發生的事情是值都是空字串的資料在我的視圖中呈現行。如果所有值都是空字串,我不想渲染一行。如果這些值至少有一個非空字串,我確實想呈現該行。
如果所有值都是空字串,如何停止渲染一行?我試過遍歷資料,哪種作業。這段代碼:
<% @data.each do |r| %>
<tr>
<% r.each do |h| %>
<% unless h['value'].empty? %>
<td><%= h['value'] %></td>
<% end %>
<% end %>
</tr>
<% end %>
停止渲染所有值都為空的行,但它也不會渲染<td>該行有一些空值的地方,因為它沒有渲染那些<td>.
uj5u.com熱心網友回復:
在開始渲染 ? row ? 之前,您必須檢查其 ? columns ? 的值是否全部為空。
<% @data.each do |r| %>
<% unless r.all? { |h| h["value"].empty? } %>
<tr>
<% r.each do |h| %>
<td><%= h['value'] %></td>
<% end %>
</tr>
<% end %>
<% end %>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/342925.html
