簡體   English   中英

Rails 5分組,求和並在視圖中顯示

[英]Rails 5 group by, sum and show in view

我在Rails 5和USign Postgres中有兩個模型:

class Sale < ApplicationRecord
attribute :total (among others)
   belongs_to :categorys
end  

class Category < ApplicationRecord
  attritubte :name (among others)
  has_many :sales
end

那么我如何才能按類別獲得銷售分組並匯總每個類別的銷售總額? 以及如何在我的視圖中顯示它(在一個實例變量中)。 例如,我想在我的視圖中顯示以下內容:

CategoryOne:總計$ 3000(也許結果是哈希值,但如何在視圖中顯示呢?

二類:總計$ 4000

第三類:總計$ 2200

等等....

哪個是正確的方法查詢(活動記錄)? 以及如何在視圖中顯示結果? 謝謝

你可以計算組合total通過使用ActiveRecord的類別的銷售額第#sum

category = Category.last
category.sales.sum(:total)

要在您的視圖中呈現銷售總額,您可以執行以下操作:

在類別模型中:

# app/models/category.rb
class Category < ApplicationRecord
  def sales_total
    sales.sum(:total)
  end
end

在您相關的控制器操作中:

# app/controllers/categories_controller.rb
@categories = Category.includes(:sales)

並在相應的視圖中:

<% @categories.each do |c| %>
  <%= "Category #{c.name}: Total $#{c.sales_total} %>
<% end %>

希望這可以幫助!

def sales_total_on(date)
  sales.where(date: date).sum(:total)
end

您可以通過請求參數將日期從表單傳遞到控制器。 您可以使用選擇或日期選擇器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM