我必须渲染这样的订单集合:
= render partial: 'order_row', collection: @order_items, as: order_item
在我的部分中,我必须多次使用order_item.product
。有没有办法说产品是order_item.product
?我尝试使用locals: {product: order_item.product}
,但看起来order_item
只能在渲染的部分中使用。换句话说,如何将此.each
块转换为渲染。
- @order_items.each do |order_item|
= render 'order_row', product: order_item.product, order_item: order_item
答案 0 :(得分:0)
在部分内部,你仍然可以分配变量:
= render partial: 'order_row', collection: @order_items, as: :order_item
部分:
- product = order_item.product
%p Then goes your partial
答案 1 :(得分:0)
您可以在渲染之前映射您的集合,例如:
= render partial: 'order_row', collection: @order_items.map(&:product), as: order_item