0

カート オブジェクト (cartItems の親) の合計カート価格属性を更新するために、cartItems オブジェクトで after_save コールバックを使用しようとしています。しかし、私はエラーが発生しています

undefined method cart_items on nil class

Google で調べたところ、コードは正しいようです。しかし、私はそれを実行することができません。以下は、cart と cart_items モデルの両方の内容です。助けてください !

カート.rb

class Cart < ActiveRecord::Base
  has_many :cart_items
  belongs_to :user
end

cart_item.rb

class CartItem < ActiveRecord::Base
 belongs_to :cart
 after_save :update_cart_total_and_tax_amount

 private
 def update_cart_total_and_tax_amount
  cartTotal=0
  applicableTax=0
  self.cart.cart_items.each do|cartItem|
    cartTotal = cartTotal + cartItem.inr_amount
  end
  cart.cart_total=cartTotal
  tax = Tax.find(1)
  totalTax = ( cartTotal * percentage_tax ) / 100
  if totalTax < tax.minimum_tax
    applicableTax=tax.minimum_tax
  else
    applicableTax = totalTax
  end
  cart.tax_amount = applicableTax
   cart.save
  end
 end
4

1 に答える 1

0

行に自己は必要ありません

self.cart.cart_items.each do|cartItem|
于 2016-04-02T10:31:47.087 に答える