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| %>
我在尝试让我的订单显示页面仅显示所选订单以及属于该订单的所有订单商品时遇到问题。例如:/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| %>