循环遍历数组的最佳方式

Jor*_*vis 0 ruby-on-rails

我的控制器将此数组传递给视图:

@ipd = Ipdw.connection.select_all("select * from [My Preferences]")
Run Code Online (Sandbox Code Playgroud)

这是我的查看代码:

<h1>Hello, Rails</h1>
<body>

 <% @ipd.each do |ip| %>
 <p><%= ip %></p>
 <% end %>

</body>
Run Code Online (Sandbox Code Playgroud)

这将显示在浏览器中:

{"Pref ID"=>1, "Source ID"=>1, "Username"=>"RS2559", "Field Name"=>"CATEGORY", "String Value"=>"IP Placemat Deliverables", "Integer Value"=>nil, "Decimal Value"=>nil, "Created Dt Tm"=>2009-08-10 03:01:36 UTC, "Update Dt Tm"=>2009-12-14 16:04:01 UTC}

{"Pref ID"=>2, "Source ID"=>1, "Username"=>"RS2559", "Field Name"=>"TYPE", "String Value"=>nil, "Integer Value"=>nil, "Decimal Value"=>nil, "Created Dt Tm"=>2009-08-10 03:01:40 UTC, "Update Dt Tm"=>2009-12-14 16:04:01 UTC}

...
Run Code Online (Sandbox Code Playgroud)

我想表现"Username""Field Name"在表中.如何在数组中循环以仅在可读的内容中显示这些列?

spi*_*ann 5

看起来您的查询返回一个哈希数组.只需使用键选择您感兴趣的值:

<% @ipd.each do |ip| %>
  <p>
    <%= ip['Username'] %><br />
    <%= ip['Field Name'] %>
  </p>
<% end %>
Run Code Online (Sandbox Code Playgroud)