Rails: 如何在展示页面只显示选中的订单?

Rails: how to show only selected order on show page?

我在尝试让我的订单显示页面仅显示所选订单以及属于该订单的所有订单商品时遇到问题。例如:/orders/8 应该只显示订单 #8。当我转到此 link 时,我当前的代码显示了所有订单。我很确定我需要用其他东西替换控制器显示部分中的 .all,但我似乎无法弄清楚那可能是什么?

The associations are:
orders have many order_items
order_items belong to an order

这是当前的显示页面视图:

<% @orders.each do |order| %>
      <div class="panel panel-default">
              <div class="panel-heading">
                    <h3 class="panel-title"><p>Order Total = <%= order.total %><p/></h3>
              </div>
             <div class="panel-body">

                <% order.order_items.each do |order_item| %>

                  <p>Order ID = <%= order_item.order_id %>
                 Product ID = <%= order_item.product_id %>
                     Unit Price = <%= order_item.unit_price %></p>

                <% end %>
        </div>
</div>
    <% end %>  

订单管理员:

 class OrdersController < ApplicationController
        def index
            @orders = Order.all

            @order_items = OrderItem.all



        end

      # GET /posts/1
      # GET /posts/1.json
      def show

             @orders = Order.all

      end

    end

在此先感谢您的帮助!

def show
 @order = Order.find(params[:id])
end

也将展示页面中的@orders 更改为@order。

@pavan 是对的。另外,您根本不需要 <% @orders.each do |order| %>

删除该循环,将 @orders 更改为 @order 后,将 <%= order.total %> 更改为 <%= @order.total %> 并将 <% order.order_items.each do |order_item| %> 更改为 <% @order.order_items.each do |order_item| %>