ruby-on-rails - 如何在 ruby on rails 中优化创建的哈希
问题描述
我可以对如何优化我的查询提出一些建议吗?所以我对连接表进行了查询,然后根据它们的状态重新创建了一个新的哈希。
这是我的控制器代码。
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)
你能建议我如何有效地解决这个问题的另一种方法吗?
谢谢你。
解决方案
推荐阅读
- ubuntu - Ubuntu 18.04 上的 HDFview
- javascript - 使用快递从搜索表单重定向?
- c - 声明和定义 C Lang
- python - 使用python将csv数据读入与csv文件相同的列
- servicestack - ServiceStack 热重载打字稿
- typescript - 从 Typescript 中的非静态方法调用静态方法
- apache - Apache:在应用了 RewriteCond 的情况下使用 VirtualHost 重定向到 URL?
- excel - Excel 集合变量
- java - Kotlin 类在 variant.javaCompiler.doLast 上不可用
- python - Tensorflow 无法在 GPU 上启动会话