1

飲料 ID と数量と単価の両方を含む Orders モデルがあり、これらを掛け合わせて合計注文額を算出します。

アプリの別の部分では、注文を飲料 ID でグループ化し、すべての注文額を合計して在庫の合計額を算出する必要があります。

手持ちの合計数量を計算する必要がある場合は、コントローラーで次のようにします。

@delivery_total = Order.group(:beverage_id).sum(:quantity, :conditions => {:orderable_type => 'Delivery'})

(返品もあるので、orderable_typeでフィルタリングします)

したがって、合計注文額を計算する必要がある場合は、次のようになると思いました。

@delivery_value = Order.group(:beverage_id).sum((:quantity * :price), :conditions => {:orderable_type => 'Delivery'})

しかし、それは機能せず、エラーが発生します

:quantity:Symbol の未定義のメソッド `*'

残念ながら、私はまだここで学んでいます...誰かがこれを行う正しい方法をアドバイスできますか?

4

1 に答える 1

1

の最初のパラメーターは、次のsumように文字列にする必要があります。

@delivery_total = Order.group(:beverage_id).sum("quantity * price", :conditions => {:orderable_type => 'Delivery'})
于 2013-04-15T08:19:00.590 に答える