我可以对如何优化查询提出一些建议吗?因此,我对联接的表进行了查询,然后根据它们的状态重新创建了一个新哈希。
这是我的控制器代码。
def index
# create an empty hash for dynamic data
@status_based_data = {}
# get all workorder product
@q = Product.ransack(params[:q])
# loop all workorder product
@q.result.each do |data|
# check status if its a key in stat_based_data
if !@status_based_data[data.status]
# if not created make that a key with a value of an empty array
@status_based_data[data.status] = []
# push whole data as a value
@status_based_data[data.status].push(data)
else
# if status key is created just push the data
@status_based_data[data.status].push(data)
end
end
end
查看代码:
<div>
<% @status_based_data.each do |key, value| %>
<h3><%= key %></h3>
<table class="table table-bordered admin-report">
<thead>
<tr>
<th>Status_id</th>
<th>Status</th>
</tr>
</thead>
<tbody>
<% value.each do |val|%>
<tr>
<td> <%=val.id%> </td>
<td> <%=val.status%> </td>
</tr>
<%end%>
</tbody>
</table>
<% end %>
</div>
我的观点有一个O(n^2)
,您能建议我另一种有效地解决这个问题的方法吗?
谢谢。