0

私は、顧客が購入した後にどれだけの在庫が残っているかを計算するためのヘルパーを設定しようとしています。顧客にはいくつかのline_itemsがあり、製品にはいくつかの在庫があります。だから効果的に私は次のことをしようとしました。

方法1

helper.rb

module ProductsHelper

  def wtf_stock(product)
    product.stock - product.line_items.quantity.sum
  end
end

index.html.erb

    <%= wtf_stock(product) %>

これにより、次のようになります。undefined method quantity' for #<ActiveRecord::Relation:0x5380cc8>

ProductsHelperまたは、ヘルパーをコメントアウトして<%= wtf_stock(product) %>追加しました

代替方法

def wtf_stock
    product.stock - product.line_items.quantity
  end

私にproduct.rbそれからすることによって私の見解でこれを呼び出そうとしました<%= product.wtf_stock %>。次に、次のエラーが発生しましたundefined local variable or method product' for #<Product:0x59fbc50>

stock私とを使用して残りの在庫を計算するための最良の方法は何でしょうかquantity

4

2 に答える 2

1

あなたのヘルパーでこれを試してください:

def wtf_stock(product)
  product.stock - product.line_items.sum(:quantity)
end

電話:

wtf_stock(product)

またはproduct.rbの場合(どちらが良いか):

def wtf_stock
  stock - line_items.sum(:quantity)
end

電話:

product.wtf_stock
于 2013-02-19T13:46:00.493 に答える
0
def wtf_stock
    self.stock - self.line_items.quantity
end

製品の代わりに自己を使用してください。

于 2013-02-19T13:45:53.347 に答える