我试图能够在一个表的代码块中执行两个 .each do
语句。我从一个数据库表中提取问题,从另一个数据库表中提取答案,最后我现在尝试从第三个表中提取对问题的评论。这是我所拥有的一部分。它将与每个语句中的一个或另一个一起正常工作,但我需要能够提取所有三个表,并能够遍历每个数据库并让它填写我的表,其中包含多少信息
<table id="table1" cellspacing="0" class="mytable" >
<% dataQ.each do |dataQ| %>
<th><strong> <%=dataQ[1]%> </strong></th>
<%end%>
<% data.each do |data|%>
<% dataC.each do |dataC| %>
<tr>
<td><%=data[0]%></td> <td><%=data[1]%></td><td><%=data[2]%></td><td><%=data[3]%></td><td><%=data[4]%></td>
<td><%=data[5]%><div class="accordion">Comment</div><div class="panel"><%=dataC[0]%></div></td>
<td><%=data[6]%><div class="accordion">Comment</div><div class="panel"><%=dataC[1]%></div></td>
<td><%=data[7]%><div class="accordion">Comment</div><div class="panel"><%=dataC[2]%></div></td>
<td><%=data[8]%><div class="accordion">Comment</div><div class="panel"><%=dataC[3]%></div></td>
</tr>
<% end %>
<% end %>
</table>
还有一些西纳特拉
get '/display' do
dataQ = database.execute("select * from Questions");
data = database.execute("select * from results");
dataC = database.execute("select * from Comments")
erb :display, :locals => {:data => data, :dataQ => dataQ, :dataC => dataC}
end
最佳答案
如果我理解正确 - 您的 data
和 dataC
数组是嵌套的,因此只要它们长度相同,您可以尝试以下操作:
<% 0.upto(data.length - 1) do |index| %>
<tr>
<td><%=data[index][0]%></td>
<td><%=data[index][1]%></td>
<td><%=data[index][2]%></td>
<td><%=data[index][3]%></td>
<td><%=data[index][4]%></td>
<td><%=data[index][5]%><div class="accordion">Comment</div><div class="panel"><%=dataC[index][0]%></div></td>
<td><%=data[index][6]%><div class="accordion">Comment</div><div class="panel"><%=dataC[index][1]%></div></td>
<td><%=data[index][7]%><div class="accordion">Comment</div><div class="panel"><%=dataC[index][2]%></div></td>
<td><%=data[index][8]%><div class="accordion">Comment</div><div class="panel"><%=dataC[index][3]%></div></td>
</tr>
<% end %>
关于html - 在 ruby 的一个 block 中执行两个each do语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37234749/