Xee*_*een 4 ruby variables sum ruby-on-rails ruby-on-rails-4
<% @cart.items.each do |item| %>
<div class="holder">
<div class="image"><%= link_to (image_tag (item.product.avatar.url(:thumb))), item.product %></div>
<div class="title"><%= link_to item.product.title, item.product %></div>
<div class="count"><%= item.count %></div>
<div class="price"><%= number_to_currency(item.product.price, :unit => '€ ') %></div>
<div class="description"><%= item.product.description.truncate(110).html_safe %></div>
</div>
<% end %>
<div class="total">Total price: @price</div>
Run Code Online (Sandbox Code Playgroud)
我想得到item.product.price每个列的总和,cart然后将其显示在购物车列表的末尾.怎么办?
您可以使用arel实现此目的,它可以避免加载项目及其产品,因此您不会遇到购物车中的项目所包含的查询数量:
@cart.items.joins(:product).sum("products.price")
Run Code Online (Sandbox Code Playgroud)
这将导致如下查询:
SELECT SUM(products.price) AS sum_id
FROM `items`
INNER JOIN `products` ON `products`.`id` = `items`.`product_id`
WHERE `items`.`cart_id` = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
991 次 |
| 最近记录: |