0

これは、注文の記録を表示する方法です。

           <% @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 ごとに一意の値を表示するにはどうすればよいですか

4

2 に答える 2

1

トリックを行う必要があります:

<% @orders.uniq(&:id).each do |order| %>
于 2013-07-31T10:24:24.277 に答える
0

これを試してください:

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

それが役立つことを願っています.Thanks

于 2013-07-31T10:21:05.540 に答える