通过ID rails获取唯一值

时间:2013-07-31 10:13:43

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2 distinct

这就是我显示订单记录的方式:

           <% @orders.uniq.each do |order| %>
          <% @count += 1 %>
          <tr class="even border_text">
            <td width="30"><strong><%= @count %></strong></td>
            <td width="180"><strong><%= order.first_name %> <%= order.last_name %></strong></td>
            <td width="180"><strong>Rs.<%= order.amount %></strong></td>
            <td width="180"><strong><%= order.status %></strong></td>
            <td><strong><%= order.created_at %></strong></td>
            <td width="70px" align="center"><%= link_to edit, edit_admins_order_path(order.id) %>
          </tr>
      <% end %>

和控制器:

         @orders = Order.joins(:user).joins(:order_statuses).select("orders.id,users.first_name,users.last_name,orders.amount,orders.description,orders.created_at,order_statuses.status, max(order_statuses.created_at)").group("orders.id,users.first_name,users.last_name,orders.amount,orders.description,orders.created_at,order_statuses.status").page(params[:page]).per_page(10)

问题是,如果更改或更新状态,它会显示重复值。如何通过orders.id

显示唯一值

2 个答案:

答案 0 :(得分:1)

应该做的诀窍:

<% @orders.uniq(&:id).each do |order| %>

答案 1 :(得分:0)

试试这个:

<% @orders.uniq{|x| x.id}.each do |order| %>

希望它会有所帮助。谢谢