在rails中渲染数组,仅显示第一条记录

时间:2017-12-13 19:55:54

标签: ruby-on-rails arrays ruby ruby-on-rails-4

我以这种方式渲染数组:

    <%@products.to_a.each do |foo|%>
      <th><%= foo %></th>
   <%end%>

然后给我回复:

<th>{"ID"=>"50538713", "Product"=>"choco", "Stock"=>0}</th>
<th>{"ID"=>"10000750", "Product"=>"pepsi", "Stock"=>0}</th>
<th>{"ID"=>"100538713", "Product"=>"milk", "Stock"=>0}</th>

但我只需要第一条记录,只有标题为&#34; ID&#34;,&#34;产品&#34;,&#34;股票&#34;

我怎么才能显示标题?

1 个答案:

答案 0 :(得分:1)

您已经说@products是一个哈希数组,但它可能是一个空数组。如果它为空,我们需要用空哈希替换#first的结果。

然后你可以获取第一个元素并获取密钥,然后遍历生成的数组:

<% (@products.first || {}).keys.each do |key| %>
  <th><%= key %></th>
<% end %>