如何在Rails上的ruby中优化创建的哈希

时间:2019-05-14 00:05:11

标签: ruby-on-rails ruby optimization

我可以对如何优化查询提出一些建议吗?因此,我对联接的表进行了查询,然后根据它们的状态重新创建了一个新哈希。

这是我的控制器代码。

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),您能建议我另一种有效地解决这个问题的方法吗?

谢谢。

0 个答案:

没有答案